Linux下在指令碼中獲取程式ID(PID)
我想要知道執行中指令碼子shell的程式id,那麼我該如何在shell指令碼中得到PID?
當我在執行shell指令碼時,它會啟動一個叫子shell的程式。作為主shell的子程式,子shell將shell指令碼中的命令作為批處理執行(因此稱為“批處理程式”)。
在某些情況下,你也許想要知道執行中的子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
相關文章
- Linux c程式中獲取shell指令碼輸出(如獲取system命令輸出)LinuxC程式指令碼
- 在 JDBC 中獲取插入 IDJDBC
- java 獲取當前程式的程式IDJava
- Linux Shell獲取正在執行指令碼的絕對路徑Linux指令碼
- jenkins pipline指令碼 獲取git分支Jenkins指令碼Git
- shell指令碼中main函式中$#獲取不到指令碼傳入引數個數淺析指令碼AI函式
- 使用Shell指令碼查詢程式對應的程式ID指令碼
- Kubernetes 教程:根據 PID 獲取 Pod 名稱
- 常用指令碼:獲取隱含引數指令碼
- Linux檢視程式PID的方法?Linux
- 獲取gridview所有行的idView
- Golang 獲取 goroutine id 完全指南Golang
- Linux中檢視指令碼程式是否存在的命令!Linux指令碼
- shell指令碼獲取函式返回值指令碼函式
- shell指令碼獲取時間格式化指令碼
- 獲取sql完整指令碼,get_fulltext.shSQL指令碼
- 獲取 NodeJS 程式退出碼NodeJS
- rfs (PID:146054): Database mount ID mismatch案例Database
- 使用shell指令碼在Linux中管理Java應用程式指令碼LinuxJava
- function ALV 獲取OO ALV event IDFunction
- PHP獲取小程式openid,10行程式碼快速獲取小程式openidPHP行程
- linux shell指令碼中 =~ 的作用Linux指令碼
- 獲取小程式二維碼
- 【Azure Redis 快取】使用Python程式碼獲取Azure Redis的監控指標值 (含Powershell指令碼方式)Redis快取Python指標指令碼
- Spring在程式碼中獲取bean的幾種方式SpringBean
- Jquery中獲取iframe的程式碼(window.top.parent)jQuery
- linux c 獲取系統程式總數Linux
- Linux上執行記憶體中的指令碼和程式Linux記憶體指令碼
- vmware環境下在linux中建立ftp伺服器LinuxFTP伺服器
- 【Redis】獲取沒有設定ttl的key指令碼Redis指令碼
- vbs指令碼獲取Am註冊路徑資訊指令碼
- 獲取AWR的指令碼,可以在crontab裡面部署指令碼
- [20211230]完善sql_id指令碼.txtSQL指令碼
- 分散式雪花演算法獲取id分散式演算法
- 教你用vbs指令碼獲取網路卡MAC,CPUID,硬碟序列號的實現程式碼指令碼MacUI硬碟
- 如何獲取 Linux 中的目錄大小Linux
- JavaScript 獲取主機名程式碼JavaScript
- js獲取北京時間程式碼JS
- 【學習】Linux Shell指令碼程式設計Linux指令碼程式設計