Linux开机自动启动软件/可执行程序方法

目录

修改那个脚本?

添加什么内容?

(xxx &)

nohup

setsid


修改那个脚本?

首先关注几个脚本

  1. /etc/rc.d/rc.local:该脚本在系统启动时被执行一次;
  2. /etc/profile:该脚本在所有用户登陆时会被执行一次;
  3. ~/.bashrc:该脚本在用户登陆时被执行一次,与/etc/profile不同的是,bashrc文件每个用户拥有独立的一个。

若设置开机启动,应该I修改:/etc/rc.d/rc.local文件。

添加什么内容?

首先,为了防止阻塞其他后续程序的执行,应该使用后台执行"&"。但仅仅通过后台执行是不可行的,被执行的程序有可能存在父进程退出的情况,这时,就需要使用systemd系统的守护进程(进程号为1)来启动该程序。

(xxx &)

当执行一个脚本,并希望使用1号进程启动它(终端关闭后,该程序不会被退出),可使用“(xxx &)”来启动进程,如:

当我们ping个主机时,命令如下:

ping 127.0.0.1 &  #后台执行

此时,该命令执行的父进程为该terminal的bash,当采用:

(ping 127.0.0.1 &)执行时,他的父进程就变成了1号进程,当我们关闭执行该命令的终端terminal时,该命令也不会被终止。

nohup

nohup your_command & 这样命令在你退出后仍然会在后台执行

setsid

该命令的结果是使你所运行的命令的父进程为init,所以只有关机该进程才会停止。

setsid your_command

此外可能还需要一些其他的工具辅助,比如当开机启动的程序依赖于系统的其他执行程序,那么我们就需要在启动过程中使用延时启动,比如:

at now+1 minutes < /your/path/yourexec &

延时1分钟启动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值