タグ付けされた質問 「kill」

kill-指定されたシグナルをプロセスまたはプロセスグループに送信します。


9
プロセスを-9で殺すべきではないのはいつですか?
私は走るのをいつもためらっていますがkill -9、他の管理者がほとんど定期的にそれをするのを見ます。 私はおそらく賢明な中間点があると考えているので: いつ、なぜkill -9使用する必要がありますか?いつ、なぜそうではないのですか? それを行う前に何を試すべきですか? 「ハング」プロセスをデバッグすると、さらに問題が発生する可能性がありますか?

8
バックグラウンドプロセスを終了する方法
を使用してバックグラウンドでリモートマシンでwgetを開始しました&。突然ダウンロードが停止します。プロセスを終了してから、コマンドを再実行します。どうすれば終了できますか? シェルウィンドウを閉じていません。ただし、ご存じのとおり、Ctrl+ CとCtrl+の使用は停止しませんZ。

7
暴走した猫を殺すには?
多くのcat場合、最大数千行の内容を持つファイルに対して誤ってコマンドを実行します。 + または+ を使用してcatコマンドを強制終了しようとしますが、両方の合計出力が端末に表示された後にのみ有効になるため、完全に実行されるまで待つ必要があります。CtrlCCtrlZcatcat 待つことを避けるより良い解決策はありますか?なぜなら、ファイルのサイズは最大で100MBであり、それを待つのはいらいらするからです。 を使用していtcshます。
128 shell  terminal  kill  cat  tcsh 

3
Linuxはプロセスをどのように「殺す」のでしょうか?
私は数十年の間コンピューターで、10年の間Linuxで専門的に仕事をしてきましたが、実際には魔法とは違い、ほとんどのOSの機能をブラックボックスとして扱っていることに困惑させられます。 今日、私はこのkillコマンドについて考えましたが、1日に複数回(「通常」と-9フレーバーの両方で)使用している間、それが舞台裏でどのように機能するかはまったくわかりません。 私の観点からは、実行中のプロセスが「ハング」している場合、killそのPID を呼び出すと、突然実行されなくなります。魔法! そこで実際に何が起こるのでしょうか?マンページは「シグナル」について述べていますが、確かにそれは単なる抽象化です。kill -9プロセスへの送信は、プロセスの協力(シグナルの処理など)を必要とせず、単に終了させます。 LinuxはプロセスがCPU時間を占有し続けるのをどのように停止しますか? スケジューリングから削除されますか? 開いているファイルハンドルからプロセスを切断しますか? プロセスの仮想メモリはどのように解放されますか? Linuxがプロセスによって占有されるすべてのリソースへの参照を保持しているメモリ内のグローバルテーブルのようなものがあります。プロセスを「強制終了」すると、Linuxは単純にそのテーブルを通過してリソースを1つずつ解放しますか? 私は本当にすべてを知りたいです!



2
Linuxは、メモリが不足するかどうかを確認せずにプロセスを強制終了しますか?
メモリを大量に消費するいくつかのプログラム(2〜5 GB)を連続して実行するコマンドを使用して、シェルスクリプトを実行していました。スクリプトの進行状況を確認するために戻ったときKilled、端末から報告されたように、プロセスの一部がであることに驚いた。いくつかのプログラムはKilled、後で開始されるプログラムの前にすでに連続して完了していましたが、その後、すべてのプログラムはセグメンテーションフォールトで失敗しました(コードのバグが原因である場合も、そうでない場合もあります)。 私が使用していた特定のクラスターの使用履歴を調べたところ、誰かが同時に複数のメモリー集約型プロセスを実行し始め、その結果、クラスターで利用可能な実メモリー(および場合によってはスワップスペース)を使い果たしたことがわかりました。私の知る限り、これらのメモリ集約型プロセスは、プログラムで問題が発生し始めたのとほぼ同時に実行を開始しました。 Linuxでプログラムがメモリ不足になると、プログラムが強制終了する可能性はありますか?そして、私が後で得たセグメンテーション違反は、プログラムの実行に使用できるメモリの不足によるものである可能性があります(コードのバグではなく)。


4
Linux:引数に基づいてプロセスを強制終了する
コマンドライン引数に基づいてプロセスを強制終了するにはどうすればよいですか? killall、pgrep、およびpkillプロセス名に基づいてのみ動作するようです。 これjavaは、Java仮想マシン内で実行されている多数のアプリケーションを区別できるようにするために必要です。すべてのアプリケーションのプロセス名と実際のアプリケーション名は、コマンドライン引数を調べることで確認できます。 これは手動で行うことができps aux | grep myapp.jar、出力からpidを手動で強制終了することもできますが、同等のコマンドを自動的に実行したいのですが。
55 linux  kill 

4
プロセスが終了したときのデフォルトの終了コード?
SIGINTまたはのようなハンドル可能なシグナルでプロセスが強制終了されたSIGTERMが、シグナルを処理しない場合、プロセスの終了コードはどうなりますか? 次のようなハンドルできない信号はSIGKILLどうですか? 私が知ることができることから、SIGINTおそらくプロセスを終了すると終了コード130が発生しますが、それはカーネルまたはシェルの実装によって異なりますか? $ cat myScript #!/bin/bash sleep 5 $ ./myScript <ctrl-c here> $ echo $? 130 他の信号をテストする方法がわかりません... $ ./myScript & $ killall myScript $ echo $? 0 # duh, that's the exit code of killall $ killall -9 myScript $ echo $? 0 # same problem

4
pkillとkillallの違いは何ですか?
私pkillはそれよりも多くのフィルタリングルールを持っていることを知っていますkillall。私の質問は、次の違いは何ですか? pkill [signal] name そして killall [signal] name 私はそれkillallがより効果的であり、nameプログラムに一致するすべてのプロセスとサブプロセスを(そして再帰的に)殺すことを読みました。 pkillこれもしませんか?

1
UNIXシステムコールのkillが「kill」という名前になっているのはなぜですか?
私は名前の歴史に興味があり、「kill」システムコールは「signal」と名付けられ、「signal」システムコールは「handle」と名付けられたようです。 システムコールの元の使用は、単に別のプロセスを強制終了することであったのではないかと考え、システムの開発に合わせて、より一般的な信号送信メカニズムにその使用を広げたのかもしれませんが、これは私の推測です。 誰か知っている?
41 kill  history 


4
不正なbashコマンドを終了またはキャンセルするにはどうすればよいですか?
私はこれについて多少の期待を寄せていますが、どこにも答えが見つかりません。それはとても明白なはずのようです。ときどき、bashターミナルで間違ったコマンドを入力すると、カーソルが次の行にエラーや何もせずにジャンプするだけです。何を間違えたかわかりません。私はプログラムにこだわっているようです。再現: $ tidy 私:「おっと!それは私がタイプしたものではない...」 :q 私:「うまくいかなかった...」 :exit :quit exit quit /exit /quit -exit -quit -wtf??? 失敗したことは知っていますが、端末を閉じずにプロンプ​​トに戻るにはどうすればよいですか?

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