如果有多個 python 程式正在運行,如何確定 python 程式的 PID?

如果有多個 python 程式正在運行,如何確定 python 程式的 PID?

我的系統上運行著兩個 python 程序,它們分別稱為programx和program y

我想取得程式的 pid y,但不是x我的 bash 腳本的 pid。使用時pgrep python,我得到了它們兩個的pid,但不知道哪個是哪個。

有什麼想法如何在 bash 腳本中區分兩者之間的區別嗎?

答案1

-f您可以使用switch to 來匹配參數清單pgrep(嘗試man pgrep閱讀更多內容)。

pgrep -f x

應該只產生程序x

pgrep -f y

分別是唯一的程序y

作為替代方案,如果xy不夠唯一並且以太多行結尾,您可以使用psgrep來獲得更多選項

ps ax | grep 'python x' | grep -v grep | awk '{print $1}'

這會

  • 列出所有相關進程
  • grep 尋找其中包含的內容python x。在這裡您可能需要新增路徑說明符,例如python ./path/to/x
  • 從匹配進程清單中刪除 grep 命令本身
  • 僅列印第一列,即 pid。

相關內容