溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Shell腳本中怎么獲取進(jìn)程ID

發(fā)布時(shí)間:2021-07-29 11:36:32 來源:億速云 閱讀:220 作者:Leah 欄目:開發(fā)技術(shù)

今天就跟大家聊聊有關(guān)Shell腳本中怎么獲取進(jìn)程ID,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

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

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

代碼如下:


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

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

代碼如下:


PID of this script: 6583

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

Shell腳本中怎么獲取進(jìn)程ID

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

代碼如下:


$ man bash

看完上述內(nèi)容,你們對Shell腳本中怎么獲取進(jìn)程ID有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI