Shell腳本中獲取進(jìn)程ID的方法
提問(wèn): 我想要知道運(yùn)行中腳本子shell的進(jìn)程id。我該如何在shell腳本中得到PID。
當(dāng)我在執(zhí)行shell腳本時(shí),它會(huì)啟動(dòng)一個(gè)叫子shell的進(jìn)程。作為主shell的子進(jìn)程,子shell將shell腳本中的命令作為批處理運(yùn)行(因此稱(chēng)為“批處理進(jìn)程”)。
在某些情況下,你也許想要知道運(yùn)行中的子shell的PID。這個(gè)PID信息可以在不同的情況下使用。比如,你可以使用shell腳本的PID在/tmp下創(chuàng)建一個(gè)唯一的臨時(shí)文件。有時(shí)侯腳本需要檢測(cè)所有運(yùn)行的進(jìn)程,它可以從進(jìn)程列表中排除自身的子shell。
在bash中,子shell進(jìn)程的PID存儲(chǔ)在一個(gè)特殊的變量‘$$'中。這個(gè)變量只讀,你不可以在腳本中修改它。比如:
#!/bin/bash
echo "PID of this script: $$"
上面的腳本會(huì)得到下面的輸出:
PID of this script: 6583
除了$$, bash shell還會(huì)導(dǎo)出其他的只讀變量。比如,PPID存儲(chǔ)子shell父進(jìn)程的ID(也就是主shell)。UID存儲(chǔ)了執(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í)行都會(huì)變化。這個(gè)因?yàn)槊看芜\(yùn)行都會(huì)創(chuàng)建一個(gè)新的shell。另一方面,PPID每次都會(huì)一樣只要你在同一個(gè)shell中運(yùn)行。
對(duì)于所有bash內(nèi)置變量列表,參考man頁(yè)。
$ man bash
相關(guān)文章
Linux實(shí)現(xiàn)徹底清理空文件夾的方法詳解
這篇文章主要介紹了Linux實(shí)現(xiàn)徹底刪除指定路徑下的所有空文件夾。這里的空文件夾的認(rèn)定標(biāo)準(zhǔn)是:如果某個(gè)文件夾的子文件夾全是空文件夾,也認(rèn)為該文件夾是空文件夾,需要的可以參考一下2022-10-10shell通過(guò)遍歷輸出兩個(gè)日期范圍內(nèi)所有日期的方法
這篇文章主要介紹了在shell通過(guò)遍歷輸出兩個(gè)日期范圍內(nèi)所有日期的方法,文中給出了詳細(xì)的示例代碼以及實(shí)現(xiàn)思路流程,對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-06-06詳解Linux Shell 實(shí)現(xiàn)一個(gè)獲取任意位數(shù)的隨機(jī)密碼的腳本
這篇文章主要介紹了詳解Linux Shell 實(shí)現(xiàn)一個(gè)獲取任意位數(shù)的隨機(jī)密碼的腳本的相關(guān)資料,本文提供實(shí)現(xiàn)方法及實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-08-08一天一個(gè)shell命令 linux文本系列-file命令用法
這篇文章主要介紹了一天一個(gè)shell命令 linux文本系列-file命令用法,需要的朋友可以參考下2016-06-06shell批量創(chuàng)建文件并重新命名的實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于shell批量創(chuàng)建文件并重新命名的相關(guān)資料,文中還介紹了批量刪除文件以及文件更名的多種方法,每種方法都給出了詳細(xì)實(shí)例代碼,需要的朋友可以參考下2021-07-07Shell中set與shopt命令選項(xiàng)的含義和使用示例
這篇文章主要給大家介紹了關(guān)于Shell中set與shopt命令選項(xiàng)的含義與使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09