bashやシェルスクリプト自身のPIDを取得

2018-12-17

Bash自身のプロセスIDを取得する

ログインしてるプロンプトのプロセスIDを取得したい場合は、$$という変数で実行しているbashのプロセスIDが取得できます。

動作確認は、CentOS 6.x , CentOS 7.x , Ubutu , macOS でおこなっています。UNIX系OSなら動作すると思います

# ログインして使用しているBashのプロセスIDを取得
$ echo $$
740
# PSコマンドで、BashのプロセスIDを確認
$ ps -ef | grep bash | grep -v grep
  501   740   739   0  3:18PM ttys000    0:00.04 -bash

実行中のシェルスクリプト自身のプロセスIDを取得する

先程はコマンドラインでのプロセスIDを取得しましたが、先程の「$$」を利用すれば、実行しているスクリプト自身のプロセスIDを取得できます。

$ vim  cat tesh.sh
#!/bin/bash
PID=$$

echo $PID
ps -ef | grep "$PID" | grep -v grep

$ sh tesh.sh
25095
admin 25095 25047  0 15:38 pts/0    00:00:00 sh tesh.sh
admin 25096 25095  0 15:38 pts/0    00:00:00 ps -ef

スポンサーリンク