web-dev-qa-db-ja.com

Ubuntuでプロセスを強制終了するにはどうすればよいですか?

自分の非ルートアカウントで実行されているすべてのプロセスを強制終了するにはどうすればよいですか?

Windowsマシンで発生したsmbdプロセスの回転があるため、Linuxサーバーにtelnetで接続し、それらの回転プロセスを強制終了します。サービスを再起動したり、マシンを再起動したりする権限がありません。

146
djangofan

強制終了する権限があるすべてのプロセスを強制終了するには、単にコマンドを実行します

kill -15 -1またはkill -9 -1目的の動作に応じて(詳細についてはman killを使用)

Firefoxなどの特定のプロセスを強制終了するには、単に実行します

希望する動作に応じてpkill firefoxまたはkillall firefox「killall」と「pkill」の違いは何ですか?

実行中のプロセスを確認するには、次のコマンドを使用します

ps -ef

ユーザーbobですべてのプロセスを検索する場合、これが役立つ場合があります

pgrep -l -u bob

または

ps -ef | grep bob
170
ste_kwr

Sudo kill <pid>またはSudo killall <process-name>を使用します

54
Chris Wayne

さらに試してみましょう:

Sudo apt-get install htop 

topコマンドは、システムのリソース使用量を表示し、最もシステムリソースを消費しているプロセスを表示する従来の方法です。 [トップ]には、プロセスのリストが表示され、一番多くのCPUを使用しているプロセスが上に表示されます。

htopは、同じ情報をわかりやすいレイアウトで表示します。また、矢印キーを使用してプロセスを選択し、プロセスを強制終了または優先順位を変更するなどのアクションを実行できます。 F キー。

20
Fantomas

使用できます

ps -ax | grep application name 

ps -ax | grep firefoxなどのターミナルでfirefoxタイプを検索すると、対応するアプリケーションのプロセスIDが表示されます。プロセスid = 1317の場合、killコマンドでそのアプリケーションを停止できます。

kill -9 1317
16
Xman Classical

xkillを使用します。ターミナルにxkillと入力してウィンドウ内をクリックするか、xkillとプロセスIDを入力すると終了します。

x.org。xkillの詳細を確認

13
Alvar

ユーザーusernameが所有するすべてのプロセスを強制終了するには、次を実行します。

pkill -U username
9
user129146

問題を2つの部分に分けます。

1)自分が開始したプロセスを見つけるにはどうすればよいですか?これを実行します:

ps -u `whoami`

whoamiは、使用しているアカウントの名前がわからない場合にのみ使用します。そうでない場合は、引用符なしでアカウントの名前を入力します。

これにより、アカウントで削除できるすべてのプロセスがリストされます。

2)psコマンドは、プロセス番号、TTY、時間、およびCMDをリストします。プロセスIDは最初の列です。その番号を使用してプロセスを強制終了します。プロセスを強制終了するときは注意してください。間違ったプロセスを強制終了すると、何かが壊れる可能性があります。プロセスを強制終了するには、killコマンドを使用します。このコマンドは、プロセスにSIGNALを送信します。シグナルは、プロセスがすべきことを示します。たとえば、プロセスに-1を送信すると、構成ファイルを再ロードするように要求されます。 -2を送信することは、そのプロセスでControl + Cを押すことと同等です。 -9は、プロセスに通信せずに、カーネルにプロセスを放棄させます。

Ps -u whoamiが次のようなものを返したとします

  PID TTY          TIME CMD
 4333 pts/1    00:00:00 fish
 4335 ?        00:00:00 fishd
 4816 ?        00:00:00 intellij
 4868 ?        00:50:42 Java
 4939 ?        00:00:19 fsnotifier64
 7667 ?        02:49:08 firefox
 7698 ?        00:00:00 unity-webapps-s

そして、プロセスIDでfirefoxプロセスを強制終了したい場合は、次のようにします。

kill -1 7667

次に、同じpsコマンドを再実行して、プロセスがまだ実行されているかどうかを確認します。まだ実行中の場合は、

kill -2 7667

-9まで進んでください。

アカウントによって開始されたすべてのプロセスを強制終了するには、kill <level> -1と入力します。前と同じ:-9まで進んでください。

プロセスの名前がわかっている場合は、killall <processname>に移動できます。例:killall fish(この意味で、fishはFriendly Interactive Shellです)。

killallのドキュメントはここにあります: http://manpages.ubuntu.com/manpages/hardy/man1/killall.1.html

7

このアプリケーションを使用すると、プログラムのリストを表示できます

htopをインストールする

Sudo apt-get install htop

プロセスを参照してプロセスを強制終了するには、インストールして削除するだけです

enter image description here

3
Reza Bojnordi

... Linuxのすべてのプロセスはシグナルに応答します。シグナルは、プログラムにその動作を終了または変更するよう指示するosレベルの方法です。

PIDによるプロセス信号の送信方法

シグナルをプログラムに渡す最も一般的な方法は、killコマンドを使用することです。

ご想像のとおり、このユーティリティのデフォルトの機能はプロセスの強制終了を試みることです。

kill PID_of_target_process

これにより、プロセスにTERMシグナルが送信されます。 TERMシグナルは、プロセスに終了するよう指示します。これにより、プログラムはクリーンアップ操作を実行し、スムーズに終了できます。

プログラムが正常に動作せず、TERMシグナルが与えられたときに終了しない場合、KILLシグナルを渡すことでシグナルをエスカレートできます。

kill -KILL PID_of_target_process

これは、プログラムに送信されない特別な信号です。

代わりに、オペレーティングシステムカーネルに渡され、プロセスがシャットダウンされます。これは、送信されたシグナルを無視するプログラムをバイパスするために使用されます...

2
jackal404258

Skypeを(私の場合は)殺すために書いた小さなスクリプトを書きました。

kill -s 9 `ps aux | grep skype | head -n 1 | cut -f4 -d" "`

しかし、私はそれがうまくいったので、pidが異なる長さであり、そこにスペースの量が異なっていたため、翌日は機能しなかった

それから私はこのサイトに出くわし、試しました

pgrep -l -u justin

便利な形式でプロセスを出力します

[pid] [name]

そこで、スクリプト内のコードを次のように調整しました。

kill -s 9 `pgrep -l -u justin | grep skype | cut -f1 -d" "`

これは、すべてのプロセスjustinが実行されている(任意のユーザー名に変更できる)_grepにパイプされ、skypeを検索します(これはプロセスに変更できます)次に、その行をcutにパイプし、PIDのみを読み取り、最後にkillコマンドでそのPIDを使用して強制終了します。

2
justingiffard

ここに私が書いた簡単なpythonスクリプト、killProcess.pyがあります。これは、入力として何でも受け入れ、それを殺します。

このスクリプトを書いたのは、個々にプログラムで強制終了したいpythonまたはノードプロセスがたくさんあるためです。 「killall python」は、実行し続ける必要があるプロセスを停止するため使用できません。

ファイルに「killProcess.py」という名前を付けてから、停止するスクリプトの名前を追加してください。例:python killProcess.py runnablePoller.pyはrunnablePoller.pyファイルを強制終了します

import os;
import sys;
for arg in sys.argv:
    if(arg!="killProcess.py"):
        process=arg;
        print(process);
processes =os.popen("ps -ef | grep "+process).read();
processes=processes.split("\n");
processes=processes[0].split(" ");
#print(processes);
for p in processes:
    try:
        pid=int(p);
        print(pid); 
        break;
    except:
        continue;

os.system("kill "+str(pid));
1
nick carraway

Ubuntuでプロセスを強制終了するには、次の手順を使用しました::

ステップ1:grepを使用してプロセスのpidを取得するか、-Cも使用できます::

ps aux | -C 'filename'

または

ps -ef | -C 'filename'

または

ps aux | grep 'filename'

または

ps -ef | grep 'filename' 

ステップ2:pid番号をメモします。

ステップ3:pid番号とともに「kill」コマンドを次のように使用します。

kill pidnumber
0
Akash Kandpal

Ctrl+Alt+Delete 数回クリックするだけでプロセスを簡単に終了できるタスクマネージャーにアクセスできるように設定でき、私にとっては、間違って実行すると破損する可能性のあるコマンドを覚える必要が少なくなります。

http://ubuntuhandbook.org/index.php/2013/07/use-ctrl-alt-del-task-manager-ubuntu/

https://www.itsmarttricks.com/a-guide-to-kill-pkill-and-killall-commands-to-stop-the-process-in-linux-kill-process-linux/ =

0
Cedric Eveleigh