如何在 shell 中获取上一个执行的进程 id
# test.sh
# 想保存运行 xxx.sh 的进程 id,然后保存到文件中
sh ./xxx.sh > /dev/null 2>&1 &
echo "$!"
echo "$!" > ./test.pid
这样子获取的 $!不准确,正确姿势是什么
# test.sh
# 想保存运行 xxx.sh 的进程 id,然后保存到文件中
sh ./xxx.sh > /dev/null 2>&1 &
echo "$!"
echo "$!" > ./test.pid
这样子获取的 $!不准确,正确姿势是什么
|
21gramsSep 27, 2017 via Android
1
echo $$
|
|
2
|
|
jsfaintSep 27, 2017
3
cat /proc/self/status
里面有 Pid 一行,就是进程自己的 pid,PPid 是 parents 的 pid |
|
4
|
|
xiaozSep 27, 2017
7
楼上好复杂啊,直接这样不就获取了:pgrep 'pidname',如 pgrep 'test.pid'
|
|
xiaozSep 27, 2017
8
|
|
BeebirdSep 27, 2017
9
|
|
TinkSep 27, 2017 via iPhone
10
脚本能修改么?能的话直接在脚本里获取进程的 id 保存到文件
|
|
chourySep 27, 2017
11
后台第一个进程就是 %1, 第二个就是%2, 以此类推
|