实践Daemon

很多时候有些程序需要随操作系统启动,以便当操作系统重启后程序能够不需要人工干预而自动运行。可以参考如下方式实现:

chmod +x /etc/rc.local,将需要启动的命令加入到/etc/rc.local

命令需要有执行权限,比如:

1
$ chmod u+x test.sh

如果执行单个命令

1
2
3
4
5
6
7
8
# 切换到app用户执行命令,
# 不带参数
$ su - app -c echo
1

# 带参数
$ su - app -c "echo 1"
1

如果执行shell,例如test.sh:

1
2
#!/bin/bash
echo 1

执行:

1
2
3
4
5
# 不带参数
$ su - app -s /bin/bash /home/app/test.sh

# 带参数
$ su - app -s /bin/bash /home/app/test.sh start

备注:如果shell脚本启动Java程序,可能因为找不到java,可以在shell脚本里面刷新环境变量,比如:

1
2
3
#!/bin/bash
# 刷新环境变量
source ~/.bashrc