1. ホーム
  2. python

[解決済み] Pythonで与えられたpidを持つプロセスが存在するかどうかを確認するには?

2022-08-17 08:58:20

質問

pid が有効なプロセスに対応しているかどうかを確認する方法はありますか。私は、pid を os.getpid() から取得していて、その pid を持つプロセスがマシンに存在しないかどうかを確認する必要があります。

私はそれがUnixとWindowsで利用可能であることを必要とします。私はまた、PIDが使用中でないかどうかを確認します。

どのように解決するのですか?

pidにシグナル0を送ると、そのpidが実行されていない場合はOSError例外が発生し、それ以外の場合は何もしません。

import os

def check_pid(pid):        
    """ Check For the existence of a unix pid. """
    try:
        os.kill(pid, 0)
    except OSError:
        return False
    else:
        return True