PIDが常に変化しているときにプロセスを強制終了する


9

発行するとき

ps aux | grep mtp

私は得る

ubuntu- + 15934 0.1 0.0 519848 7068?Sl 21:13 0:00 / usr / lib / gvfs / gvfsd-mtp --spawner:1.9 / org / gtk / gvfs / exec_spaw / 20

したがって、この場合のPIDは15934です。ただし、これが実行されるたびにPIDは異なります。PID以外の方法でプロセスを強制終了する方法はありますか?


異なるPID→異なるプロセス。
phk 2016

3
PIDが常に変化している場合、プロセスは常に終了しており、同じ名前の新しいプロセスが開始されています。したがって、おそらく、親プロセス(子プロセスを開始するプロセス)の後に進みます。ps -ely | awk 'NR==1||/mtp/'PPID列を見て、見てください
icarus

1
より良いアプローチは、実際に何が起こっいるのか理解し、代わりにそれを修正することです。ログなどを確認してMTPマウントが機能しない理由を調べ、実際に機能するように修正します。GVFSがMTPマウントを試行する理由を調べ、MTPマウントが不要になるようにします。MTPの自動マウントが発生している場所を見つけて、オフにします。なぜGVFSが必要なのかを調べ、そうするのをやめてください。理解せずにプロセスを強制終了するのではなく、結果としてGNOMEデスクトップアプリケーションを破壊するのではありません。
JdeBP

回答:


8

おそらく、子プロセスを強制終了し、新しい子をフォークする親プロセスがあります。pstreeを使用して親プロセスを見つけることができます。

pgrep mtp | xargs -i pstree -ps {}

または、psのppidオプションを使用することもできます。

pgrep mtp | while read line; do ps -p $line -o ppid; done

次に、親プロセスを強制終了できます


0

pkill mtpまたはkill -9を使用できます pidof mtp

複数のmtpプロセスがある場合、これらのコマンドは両方ともシステム内のすべてのmtpプロセスを強制終了することに注意してください。

ラミローゼン


5
これは、またはkillall mtpmtpを強制終了しますが、新しいmtpプロセスを子として常にフォークする別のプロセスが存在する可能性があります。殺さなければ、これは役に立たない。
セルハットセビケル2016

0

発行した

ps aux | grep mtp

それは私にいくつかのmtp関連のプロセスを与え、特定のプロセスを取得するためにマウントされたカメラとマウントされていないカメラと比較しました

その後

pkill -9 gvfsd-mtp

トリックを行います。

しかし、私は上記の答えもうまくいくと思います:)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.