linux service小例
linux service 测试
1.创建一个app
// myapp.c // 间隔10s写入时间到文件 #include #include #include // 引入unix标准函数定义,如sleep() int main() { FILE *fp; time_t now; char buffer[80]; // 打开文件以追加模式 fp = fopen("/tmp/time_log.txt", "w"); if (fp == NULL) { perror("Error opening file"); return (-1); } while (1) { // 无限循环 time(&now); // 获取当前时间 strftime(buffer, 80, "%Y-%m-%d %H:%M:%S\n", localtime(&now)); // 格式化时间 // 写入时间到文件 fprintf(fp, "%s", buffer); // 刷新输出缓冲区到文件,确保数据即时写入 fflush(fp); // 等待3秒 sleep(10); } // 注意:这个程序实际上不会到达这里,因为我们在上面使用了无限循环 // 如果你想要程序在某个条件下退出,你需要在循环中添加适当的逻辑 // 关闭文件 fclose(fp); return 0; }
gcc myapp.c -o myapp sudo mv myapp /usr/local/bin/ sudo chmod 777 /usr/local/bin/myapp cd /usr/local/bin ./myapp tail -n 3 /tmp/time_log.txt rm /tmp/time_log.txt
2.创建服务
#myapp.service 不要有这一行 [Unit] Description=My Application Service After=network.target [Service] Type=simple User=c ExecStart=/usr/local/bin/myapp Restart=on-failure [Install] WantedBy=multi-user.target
sudo mv myapp.service /etc/systemd/system/ cd /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl start myapp.service sudo systemctl stop myapp.service sudo systemctl status myapp.service sudo systemctl enable myapp.service sudo systemctl disable myapp.service journalctl -u myapp.service tail -n 3 /tmp/time_log.txt rm /tmp/time_log.txt
(图片来源网络,侵删)
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。