roy*_*roy 2 linux bash shell startupscript init
我知道这很容易,但我无法弄明白.我们想在一台机器上运行两个luigi实例,因此需要修改init.d脚本以将PID写入文件而不是仅触摸空文件.
echo -n $"Starting luigid scheduler as $LUIGID_USER: "
( ( /usr/bin/sudo -u $LUIGID_USER $LUIGID_BIN >>/var/log/luigid/server.log 2>&1 ) &)
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/luigid && echo_success || echo_failure
echo
return $RETVAL
Run Code Online (Sandbox Code Playgroud)
目前它只是触摸空的PID文件.我希望它将PID写入文件.同时停止我想通过存储在PID文件中的PID来杀死
echo -n $"Stopping luigid scheduler: "
killproc luigid
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/luigid && echo_success || echo_failure
echo
Run Code Online (Sandbox Code Playgroud)
有什么帮助吗?
谢谢
您可以PID使用以前的命令获取$!
将启动脚本更改为:
echo -n "Starting luigid scheduler as $LUIGID_USER: "
/usr/bin/sudo -u $LUIGID_USER $LUIGID_BIN >>/var/log/luigid/server.log 2>&1 &
RETVAL=$?
PID=$!
[ $RETVAL -eq 0 ] && echo $PID > /var/lock/subsys/luigid && echo_success || echo_failure
echo
return $RETVAL
Run Code Online (Sandbox Code Playgroud)
请注意,在子shell中启动程序时,需要从命令周围删除括号.子shell不会将已启动程序的PID返回给shell,因此您应该直接从shell中调用它.
| 归档时间: |
|
| 查看次数: |
7976 次 |
| 最近记录: |