Linux中國
Linux有問必答:如何在腳本中獲取進程ID(PID)
在某些情況下,你也許想要知道運行中的子shell的PID。這個PID信息可以在不同的情況下使用。比如,你可以使用shell腳本的PID在/tmp下創建一個唯一的臨時文件。有時侯腳本需要檢測所有運行的進程,它可以從進程列表中排除自身的子shell。
在bash中,子shell進程的PID存儲在一個特殊的變數『$$』中。這個變數只讀,你不可以在腳本中修改它。比如:
#!/bin/bash
echo "PID of this script: $$"
上面的腳本會得到下面的輸出:
PID of this script: 6583
除了$$
, bash shell還會導出其他的只讀變數。比如,PPID存儲子shell父進程的ID(也就是主shell)。UID存儲了執行這個腳本的當前用戶ID。比如:
#!/bin/bash
echo "PID of this script: $$"
echo "PPID of this script: $PPID"
echo "UID of this script: $UID"
輸出是:
PID of this script: 6686
PPID of this script: 4656
UID of this script: 1000
上面輸出中,PID每次執行都會變化。這個因為每次運行都會創建一個新的shell。另一方面,PPID每次都會一樣只要你在同一個shell中運行。
對於所有bash內置變數列表,參考man頁。
$ man bash
via: http://ask.xmodulo.com/process-id-pid-shell-script.html
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive
對這篇文章感覺如何?
太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
More in:Linux中國
如何通過 VLC 使用字幕
使用 VLC 媒體播放器播放和管理字幕的新手指南。
Unix 桌面:在 Linux 問世之前
僅僅開源還不足以實現開放,還需開放標準和建立共識。
Valve 對於 Ubuntu 的 Snap 版本的 Steam 並不滿意:原因何在
你可能會發現,Snap 版本的 Steam 並不如你期待的那樣好,你怎麼看?
Wine 9.0 發布,實驗性地加入了 Wayland 驅動
Wine 的這個新版本正在為未來做好準備!