主頁 > 知識庫 > Shell腳本中獲取進程ID的方法

Shell腳本中獲取進程ID的方法

熱門標簽:電銷機器人 劍魚 寧波智能外呼系統(tǒng)公司 地圖標注輻射圖案 衛(wèi)星地圖標注地名 申請公司400電話要注意什么 曲阜400電話辦理 聯(lián)通電話機器人怎么接 安裝外呼系統(tǒng)費用 奧維互動地圖標注參數(shù)

提問: 我想要知道運行中腳本子shell的進程id。我該如何在shell腳本中得到PID。

當我在執(zhí)行shell腳本時,它會啟動一個叫子shell的進程。作為主shell的子進程,子shell將shell腳本中的命令作為批處理運行(因此稱為“批處理進程”)。

在某些情況下,你也許想要知道運行中的子shell的PID。這個PID信息可以在不同的情況下使用。比如,你可以使用shell腳本的PID在/tmp下創(chuàng)建一個唯一的臨時文件。有時侯腳本需要檢測所有運行的進程,它可以從進程列表中排除自身的子shell。

在bash中,子shell進程的PID存儲在一個特殊的變量‘$$'中。這個變量只讀,你不可以在腳本中修改它。比如:

復制代碼 代碼如下:

#!/bin/bash
echo "PID of this script: $$"

上面的腳本會得到下面的輸出:

復制代碼 代碼如下:

PID of this script: 6583

除了$$, bash shell還會導出其他的只讀變量。比如,PPID存儲子shell父進程的ID(也就是主shell)。UID存儲了執(zhí)行這個腳本的當前用戶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每次執(zhí)行都會變化。這個因為每次運行都會創(chuàng)建一個新的shell。另一方面,PPID每次都會一樣只要你在同一個shell中運行。

對于所有bash內(nèi)置變量列表,參考man頁。

復制代碼 代碼如下:

$ man bash

您可能感興趣的文章:
  • Shell腳本中讓進程休眠的方法(sleep用法)
  • Linux Shell中判斷進程是否存在的代碼
  • linux下監(jiān)視進程 崩潰掛掉后自動重啟的shell腳本
  • linux shell實現(xiàn)守護進程腳本
  • Shell腳本實現(xiàn)檢測進程是否正在運行
  • shell腳本實現(xiàn)多進程運行的方法示例

標簽:安康 三門峽 江西 大慶 仙桃 大興安嶺 上饒 遵義

巨人網(wǎng)絡通訊聲明:本文標題《Shell腳本中獲取進程ID的方法》,本文關(guān)鍵詞  Shell,腳本,中,獲取,進程,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Shell腳本中獲取進程ID的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于Shell腳本中獲取進程ID的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章