小编Pra*_*nth的帖子

从使用“su -c”启动的命令中获取进程ID

我在 shell 中运行一个 java 程序并将进程 ID 写入文本文件。所以当我这样做时:

nohup java app.Main > /dev/null 2>&1 &
echo $! > /var/run/app.pid
Run Code Online (Sandbox Code Playgroud)

有用。但我真的想以另一个用户的身份运行它

su - appuser -c "nohup java app.Main > /dev/null 2>&1 &"
echo $! > /var/run/app.pid
Run Code Online (Sandbox Code Playgroud)

这不起作用。有没有办法获取使用 -c 选项启动的命令的进程 ID?

shell bash su

9
推荐指数
1
解决办法
4148
查看次数

标签 统计

bash ×1

shell ×1

su ×1