Pythonで外部プロセスを一時停止する
Pythonで外部プロセスを一時停止する要件できたのでメモ
メモリ解析ツールとかでお世話になるのでスクリプトから使えたら便利かなって…
ダメだったけどwatchdogでファイル監視しつつ変更検知したら消される前に横取りするスクリプトで使えないかなーと思って書いてた
環境はWindows10 Python3です
使うのはpsutilで以下のレポジトリ参照です
https://github.com/giampaolo/psutil
pipで入るので入れます
1$ pip install psutil
READMEに全部書いてあるので読んだ方が早いですが停止と再開のサンプルはこんな感じ
プロセスIDが1234で3秒間停止させてみる
1import time
2
3import psutil
4
5pid = 1234
6p = psutil.Process(pid)
7p.suspend()
8time.sleep(3)
9p.resume()
これだと不便なので特定のプロセスを3秒だけ止める(ペイント)
1import time
2
3import psutil
4
5pid = None
6for proc in psutil.process_iter(attrs=["pid", "name"]):
7 if proc.info["name"] == "mspaint.exe":
8 pid = proc.info["pid"]
9
10if not pid:
11 exit(1)
12
13p = psutil.Process(pid)
14p.suspend()
15time.sleep(3)
16p.resume()