程序buffer.c代码如下: #include<stdio.h> #include<unistd.h> #include<stdlib.h> int main() { int i=0; setvbuf(stdout,NULL,_IONBF,0); while(i++<100){ fprintf(stdout,"\n202006591141.Wang Tengteng"); sleep(2); } return 0; } [1] 编译并执行该程序,并将程序的二进制可执行文件复制到一级目录/opt中 [2] 参考下列代码,创建systemd服务单元buffer.service [unit] Description=system service unit test [Service] ExecStart=/opt/buffer ExecStop=kill $(MAINPID) StandardOutput=append:/var/log/buffer.log [Install] WantedBy=multi-user.target [3] 将单元文件复制到正确的目录中,启动并查看服务的状态。 (提示:给出命令systemctl status、systemctl list-units执行结果中,该服务的状态) [4] 将服务单元设置为开机启动单元。 (提示:要求给出systemctl list-unit-files执行结果中,该服务的状态) [5] 关闭该服务后,将该服务相关的文件从系统中删除 分别使用计划任务管理命令crontab和at调度执行上述程序。 (提示:使用命令crontab -l和命令atq的查询结果验证命令设置的结果)
时间: 2024-02-01 07:02:19 浏览: 176
C语言函数大全
[1] 编译并执行该程序,并将程序的二进制可执行文件复制到一级目录/opt中:
编译命令:gcc -o buffer buffer.c
执行命令:./buffer
复制命令:sudo cp buffer /opt
[2] 参考下列代码,创建systemd服务单元buffer.service:
创建并编辑文件buffer.service:sudo nano /etc/systemd/system/buffer.service
写入以下内容:
```
[Unit]
Description=system service unit test
[Service]
ExecStart=/opt/buffer
ExecStop=kill $(MAINPID)
StandardOutput=append:/var/log/buffer.log
[Install]
WantedBy=multi-user.target
```
保存并退出。
[3] 将单元文件复制到正确的目录中,启动并查看服务的状态:
复制命令:sudo cp /etc/systemd/system/buffer.service /etc/systemd/system/multi-user.target.wants/
启动命令:sudo systemctl start buffer
查看状态命令:sudo systemctl status buffer
[4] 将服务单元设置为开机启动单元:
命令:sudo systemctl enable buffer
[5] 关闭该服务后,将该服务相关的文件从系统中删除:
关闭服务命令:sudo systemctl stop buffer
删除服务文件命令:sudo rm /etc/systemd/system/buffer.service
删除日志文件命令:sudo rm /var/log/buffer.log
使用计划任务管理命令crontab和at调度执行上述程序:
crontab命令添加任务:crontab -e,写入以下内容:
```
* * * * * /opt/buffer
```
at命令添加任务:at now,输入以下内容:
```
/opt/buffer
CTRL+D
```
验证命令设置的结果:
crontab查询任务:crontab -l
at查询任务:atq
阅读全文