linux daemon 参数,linux – 如何告诉start-stop-daemon将$HOME和$USER相应地更新为–chuid参数...

博客探讨了如何使用start-stop-daemon命令设置环境变量,提到了-e选项的限制,并提供了两种解决方法:通过USER和HOME参数,或者使用sudo。建议首选直接在start-stop-daemon中设置环境变量,因为这不需要额外的程序。
摘要由CSDN通过智能技术生成

这可能是预期的行为.手册页显示了start-stop-daemon的–env选项:

-e|--env env-name

Set an environment variable whose name and value is env-name

before starting executable. Example: -e HOME="/home/user"

exports an environment variable whose name is HOME with value

"/home/user". Note,only one --env option is suppoted,use

/usr/bin/env if you need more.

作者在示例中使用了$HOME,我认为它通常不会设置它.我没有看到任何其他选项来更新您正在启动的流程的环境.

尝试像这样运行start-stop-daemon:

USER=guest HOME=~guest start-stop-daemon --start --exec /path/to/prog ...

另一种方法是在sudo下运行脚本:

start-stop-daemon --start --exec /usr/bin/sudo -- -H -u guest /path/to/prog

sudo会自动设置$USER,-H选项也会告诉它设置$HOME.我使用自己的test.sh运行这两个,打印变量的值,并根据需要更新它们.我偏爱第一个因为它没有添加另一个程序,但这只是我.

linux系统命令start-stop-daemon的源码及二进制,其中也提供了一个服务启动脚本模板。 此程序能帮助你实现将命令行程序变成服务运行,比如将"java -jar xxx.jar" 放在后台执行。 ./start-stop-daemon --help start-stop-daemon 1.9.18 for Debian - small and fast C version written by Marek Michalkiewicz , public domain. Usage: start-stop-daemon -S|--start options ... -- arguments ... start-stop-daemon -K|--stop options ... start-stop-daemon -H|--help start-stop-daemon -V|--version Options (at least one of --exec|--pidfile|--user is required): -x|--exec program to start/check if it is running -p|--pidfile pid file to check -c|--chuid change to this user/group before starting process -w|--chdir change the work directory to 'dir' -u|--user | stop processes owned by this user -n|--name stop processes with this name -s|--signal signal to send (default TERM) -a|--startas program to start (default is ) -N|--nicelevel add incr to the process's nice level -b|--background force the process to detach -m|--make-pidfile create the pidfile before starting -R|--retry check whether processes die, and retry -t|--test test mode, don't do anything -o|--oknodo exit status 0 (not 1) if nothing done -q|--quiet be more quiet -v|--verbose be more verbose Retry is |//... where is one of -|[-] send that signal wait that many seconds forever repeat remainder forever or may be just , meaning //KILL/ Exit status: 0 = done 1 = nothing done (=> 0 if --oknodo) 3 = trouble 2 = with --retry, processes wouldn't die
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值