在 Bash 中分离命令时保存进程 ID

Dae*_*den 7 cygwin bash command-line

当我分离命令时:

$ command &
Run Code Online (Sandbox Code Playgroud)

结果是 STDOUT 的打印输出:

[1] < PID >
Run Code Online (Sandbox Code Playgroud)

我想监控这个PID。但是,除了 STDOUT,我不能在任何地方写这个输出!如何将其重定向到文件或变量?

我试过了:

$ command 1> ./temp.txt &
Run Code Online (Sandbox Code Playgroud)

但这仍然找到了标准输出的方法!

在此先感谢您的帮助!

Bil*_*ler 13

$! 应该包含最后一个后台进程的PID。就像是...

$ command &
$ echo $! > temp.txt
Run Code Online (Sandbox Code Playgroud)

应该给你一个名为 temp.txt 的文件,其中包含 PID。

或者在一行...

$ command & echo $! > temp.txt
Run Code Online (Sandbox Code Playgroud)