自分の非rootアカウントで実行されているすべてのプロセスを強制終了するにはどうすればよいですか?
私はwindowsマシンから発生したsmbdプロセスをいくつか回転させているので、linuxサーバーにtelnetし、それらの回転プロセスを強制終了したいと思います。 サービスを再起動したり、マシンを再起動したりする権限がありません。
自分の非rootアカウントで実行されているすべてのプロセスを強制終了するにはどうすればよいですか?
私は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>
あなたが使用することができます
ps -ax | grep application name
あなたのような端末でfirefoxのタイプを検索している場合 ps -ax | grep firefox
、対応するアプリケーションのプロセスidを示しています。 そのアプリケーションを停止するには、次のようにします kill
プロセスid=1317の場合のコマンド,
kill -9 1317
もっと何かを試してみましょう:
sudo apt-get install htop
その top
コマンドは、システムのリソース使用量を表示し、ほとんどのシステムリソースを占有しているプロセスを表示するための伝統的な方法です。 Topはプロセスのリストを表示し、最もCPUを使用しているプロセスが一番上に表示されます。
htop
同じ情報をわかりやすいレイアウトで表示します。 また、矢印キーを使用してプロセスを選択し、それらを強制終了したり、優先度を変更したりするなどのアクションを実行することもできます。 F 鍵だ
私は使用します xkill
. 入力 xkill
端末で、ウィンドウ内をクリックするか、次のように入力します xkill
そして、プロセスIDとそれは終了されます。
詳細について知りました xkill
オン x.org.....
ユーザーが所有するすべてのプロセスを強制終了しようとするには username
、実行:
pkill -U username
私はあなたの問題を2つの部分に分割します:
1)私はいかに私によって始まったプロセスを見つけますか。 これを実行します:
ps -u `whoami`
その whoami
あなたが使用しているアカウントの名前がわからない場合に備えて、それ以外の場合は、バック引用符なしでアカウントの名前を入力します。
これにより、アカウントで削除できるすべてのプロセスが一覧表示されます。
2) ps
コマンドは、プロセス番号、TTY、時間、およびCMDを一覧表示します。 プロセスIDは最初の列です。 その番号を使用してプロセスを強制終了します。 プロセスを殺しながら注意してください。 あなたが間違ったものを殺すなら、あなたは何かを壊すかもしれませんprocess.To あなたが使用するプロセスを強制終了します kill
コマンドは、プロセスにシグナルを送信します。 信号は、プロセスが何を示していますか すべき やって 例えば、 -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
そして、あなたは殺したかった firefox
プロセスidでプロセスを実行すると、次のようになります:
kill -1 7667
その後、同じものを再実行します ps
コマンドを実行し、プロセスがまだ実行されていたかどうかを確認します。 それがまだ実行されている場合は、次の操作を行います
kill -2 7667
あなたの方法を作業する -9
.
アカウントで開始されたすべてのプロセスを強制終了するには、次のように入力します kill <level> -1
. 前と同じように:あなたの方法を動作させます -9
.
あなたがプロセスの名前を知っていれば、あなたは単に行くことができます killall <processname>
、あなたが殺そうとしているものはどこですか。 例えば: killall fish
(魚は、この意味では、友好的な相互貝である)。
のためのドキュメント killall
ここで見つけることができます: http://manpages.ubuntu.com/manpages/hardy/man1/killall.1.html
このアプリケーションを使用すると、プログラムのリストを表示することができます
htopのインストール
sudo apt-get install htop
プロセスとkillプロセスを参照するには、それをインストールして単純に削除することができます
私は(私の場合は)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のみを読み取り、最終的にそのPIDを使用します。 kill
それを殺すためのコマンド。
...Linuxのすべてのプロセスはシグナルに応答します。 シグナルは、プログラムにその動作を終了または変更するように指示するosレベルの方法です。
PIDでプロセス信号を送信する方法
プログラムにシグナルを渡す最も一般的な方法は、killコマンドを使用することです。
ご想像のとおり、このユーティリティのデフォルトの機能は、プロセスを強制終了しようとすることです:
kill PID_of_target_process
これにより、用語信号がプロセスに送信されます。 シグナルという用語は、プロセスを終了するように指示します。 これにより、プログラムはクリーンアップ操作を実行し、スムーズに終了することができます。
プログラムが不正な動作をしていて、シグナルという用語が与えられたときに終了しない場合、KILLシグナルを渡すことによってシグナルをエスカレート:
kill -KILL PID_of_target_process
これはプログラムに送信されない特別な信号です。
代わりに、それはプロセスをシャットダウンし、オペレーティングシステムのカーネルに与えられます。 これは、送信された信号を無視するプログラムをバイパスするために使用されます。..