Linux命令恢复进程

时间:2017-10-23 18:28:09

标签: linux bash shell ubuntu unix

是否有一个Unix命令可以监视任意进程并在它们被操作系统杀死时恢复这些进程?例如,我有一个定期执行的后台守护进程,但有时它会被操作系统杀死。我想再次恢复这个过程或类似的事情。

1 个答案:

答案 0 :(得分:2)

鉴于这个问题的模糊性以及OP所尝试的内容,这里有一个答案。最近的Ubuntu(假设来自标签),OP使用systemd系统,在这种类型的系统中,可以编写一个systemd服务脚本,如果它退出则会重启守护进程;

~]# cat /usr/lib/systemd/system/myawesome.service
 [Unit]
 Description=My Awesome Service
 After=systemd-logind.service

 [Service]
 Type=notify
 ExecStart=/path/to/my/awesome/daemon
 KillMode=process
 Restart=always

 [Install]
 WantedBy=multi-user.target

然后启动此服务,

 ~]# systemctl start myawesome.service
 ~]# systemctl enable myawesome.service # To sustain after a reboot

要了解有关systemd服务单元文件的更多信息,请访问以下链接:

https://www.freedesktop.org/software/systemd/man/systemd.service.html    https://www.freedesktop.org/software/systemd/man/systemd.unit.html