linux - 如何运行 nohup 并将其 pid 文件写入单个 bash 语句

我想在后台运行我的脚本,然后编写它的 pid 文件。我正在使用 nohup 来执行此操作。

这是我想出来的,

nohup ./myprogram.sh > /dev/null 2>&1 & && echo $! > run.pid 

但这会产生语法错误。

以下没有给出语法错误,但问题是 echo $!由于 nohup 在子 shell 中运行,因此没有写入正确的 pid

(nohup ./myprogram.sh > /dev/null 2>&1 &) && echo $! > run.pid 

任何解决方案,如果我想要一个单行语句来实现这一点?

最佳答案

在将脚本置于后台的重定向之后,您已经有了一个与号。因此,您只需要在该 & 号之后键入所需的命令,而不是任何其他前缀:

nohup ./myprogram.sh > /dev/null 2>&1 & echo $! > run.pid

https://stackoverflow.com/questions/20254155/

相关文章:

java - 如何下载较旧的 google play 服务?

linux - curl 用于获取标题

linux - 尝试使用 sudo 将文件附加到根拥有的文件时权限被拒绝

linux - 如何使用 Linux 命令获取可用内存百分比?

python - 运行时错误 : Invalid DISPLAY variable

linux - 在 Emacs 中匹配括号的命令是什么?

php - 使用 WGET 运行 cronjob PHP

linux - 如何在linux中停止 screen 进程?

linux - "Couldn' t 在 Windows 上的 Ubuntu bash 上找到引用控

r - 在 Ubuntu 和 Mac 上安装 rgl : X11 not found