本文共 734 字,大约阅读时间需要 2 分钟。
目录
首先关注几个脚本
若设置开机启动,应该I修改:/etc/rc.d/rc.local文件。
首先,为了防止阻塞其他后续程序的执行,应该使用后台执行"&"。但仅仅通过后台执行是不可行的,被执行的程序有可能存在父进程退出的情况,这时,就需要使用systemd系统的守护进程(进程号为1)来启动该程序。
当执行一个脚本,并希望使用1号进程启动它(终端关闭后,该程序不会被退出),可使用“(xxx &)”来启动进程,如:
当我们ping个主机时,命令如下:
ping 127.0.0.1 & #后台执行
此时,该命令执行的父进程为该terminal的bash,当采用:
(ping 127.0.0.1 &)执行时,他的父进程就变成了1号进程,当我们关闭执行该命令的终端terminal时,该命令也不会被终止。
如nohup your_command &
这样命令在你退出后仍然会在后台执行
该命令的结果是使你所运行的命令的父进程为init,所以只有关机该进程才会停止。
setsid your_command
此外可能还需要一些其他的工具辅助,比如当开机启动的程序依赖于系统的其他执行程序,那么我们就需要在启动过程中使用延时启动,比如:
at now+1 minutes < /your/path/yourexec &
延时1分钟启动。
转载地址:http://pdpaf.baihongyu.com/