自分の非ルートアカウントで実行されているすべてのプロセスを強制終了するにはどうすればよいですか?
Windowsマシンで発生したsmbdプロセスの回転があるため、Linuxサーバーにtelnetで接続し、それらの回転プロセスを強制終了します。サービスを再起動したり、マシンを再起動したりする権限がありません。
強制終了する権限があるすべてのプロセスを強制終了するには、単にコマンドを実行します
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
Sudo kill <pid>
またはSudo killall <process-name>
を使用します
さらに試してみましょう:
Sudo apt-get install htop
top
コマンドは、システムのリソース使用量を表示し、最もシステムリソースを消費しているプロセスを表示する従来の方法です。 [トップ]には、プロセスのリストが表示され、一番多くのCPUを使用しているプロセスが上に表示されます。
htop
は、同じ情報をわかりやすいレイアウトで表示します。また、矢印キーを使用してプロセスを選択し、プロセスを強制終了または優先順位を変更するなどのアクションを実行できます。 F キー。
使用できます
ps -ax | grep application name
ps -ax | grep firefox
などのターミナルでfirefoxタイプを検索すると、対応するアプリケーションのプロセスIDが表示されます。プロセスid = 1317の場合、kill
コマンドでそのアプリケーションを停止できます。
kill -9 1317
xkill
を使用します。ターミナルにxkill
と入力してウィンドウ内をクリックするか、xkill
とプロセスIDを入力すると終了します。
x.org。 でxkill
の詳細を確認
ユーザーusername
が所有するすべてのプロセスを強制終了するには、次を実行します。
pkill -U username
問題を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
... Linuxのすべてのプロセスはシグナルに応答します。シグナルは、プログラムにその動作を終了または変更するよう指示するosレベルの方法です。
PIDによるプロセス信号の送信方法
シグナルをプログラムに渡す最も一般的な方法は、killコマンドを使用することです。
ご想像のとおり、このユーティリティのデフォルトの機能はプロセスの強制終了を試みることです。
kill PID_of_target_process
これにより、プロセスにTERMシグナルが送信されます。 TERMシグナルは、プロセスに終了するよう指示します。これにより、プログラムはクリーンアップ操作を実行し、スムーズに終了できます。
プログラムが正常に動作せず、TERMシグナルが与えられたときに終了しない場合、KILLシグナルを渡すことでシグナルをエスカレートできます。
kill -KILL PID_of_target_process
これは、プログラムに送信されない特別な信号です。
代わりに、オペレーティングシステムカーネルに渡され、プロセスがシャットダウンされます。これは、送信されたシグナルを無視するプログラムをバイパスするために使用されます...
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を使用して強制終了します。
ここに私が書いた簡単な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));
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
Ctrl+Alt+Delete 数回クリックするだけでプロセスを簡単に終了できるタスクマネージャーにアクセスできるように設定でき、私にとっては、間違って実行すると破損する可能性のあるコマンドを覚える必要が少なくなります。
http://ubuntuhandbook.org/index.php/2013/07/use-ctrl-alt-del-task-manager-ubuntu/