ping <dest>&を終了する方法


9

コマンド

ping <dest> &

pingをバックグラウンドに移動させます。ただし、出力は引き続きターミナルに出力されます。Ctrl-Cは停止せず、新しいプロンプトを導入するだけです。端末から停止する方法は?


答えに加えて、pingカウントを使用しての反復を自然に制限する方法があります-c N—ここで、Nは正の数です。
l0b0

1
@ l0b0はい正しいですが、この特定の問題に直面しました。実際には、実行時間がわからない、または定義されていないプログラムに関連しています。だから私はプロセスを停止する方法を尋ねることを意味します。
Vineet

回答:


24

最初にfgpingコマンドが実行されているのと同じターミナルに入力し(プロセスをフォアグラウンドにします)、次にCtrl+ cを押してプロセスを停止します。

ここに画像の説明を入力してください


これは機能します。また、複数のバックグラウンドプロセスがある場合、1つずつフォアグラウンドで呼び出すことにより、fgが機能することにも気付きました。
Vineet

はい、そうですjobs。バックグラウンドで実行されているプロセスのリストを取得するために使用できます。
Ravexina

どのようにしてその画像ループを作成しましたか?
フィリップス

3
GIFは...どのように働くかのITのGIF、@phillipsk
Ravexina

1
@Seth Oh ...その場合、私は「カザム」を使用してビデオをキャプチャし、それをを使用してgifに変換しましたffmpeg
Ravexina

14

それが唯一のバックグラウンドジョブである場合は、で強制終了できますkill %1。必ずすべてのあなたのバックグラウンドを持つジョブ一覧表示することができない場合はjobs、使用するkill %<n>あなたのpingジョブの数nによって置き換えます。


4
また、nは、コマンドを実行したときに角かっこ内に出力される数値と一致することもわかりました。
Vineet

7

プロセスをバックグラウンドに送信すると、ctrl- zまたは&コマンドの最後のどちらを使用しても、次の形式の出力が得られます[index] process-id。複数のプロセスをバックグラウンドに送信すると、インデックスは毎回増加し続けます。

例えば:

$ sleep 100 &
[1] 41608
$ sleep 101 &
[2] 41609
$ sleep 102 &
[3] 41610
$ sleep 103 &
[4] 41611
$ sleep 104 &
[5] 41612
$ sleep 105 &
[6] 41613
$ sleep 106 &
[7] 41614

特定のものを停止するには、使用するkill <process-id>か、fg <index>続けて使用することができますctrl-c

前の出力を使用した例:

$ kill 41614

または

$ fg 7
sleep 106
^C

3

ターミナルの新しいタブを起動し、次を実行:

$ pgrep ping
  2564

次に、killコマンドを使用してpidを強制終了します。

$ kill 2564

同じ端末でkillも使用しました(ただし、出力が原因で使いにくくなりました)。しかし、ターミナルに戻ってプロセスIDが出力されているのを確認できない場合はどうすればいいのかと考えていたので、pgrepがさらに役立ちました。
Vineet

3
を使用pgrepしてプロセスを名前で検索する場合、を使用してプロセスを名前で強制終了することもできますpkill。プロセスIDを入力/コピーして使用する必要はありませんkill
バイトコマンダー

これは知っておくと便利ですが、この質問では少々やりすぎです。:-p
tu-

0

あなたがルートであるとき、それは単にkillall pingです。


同じマシン(同僚)で実行していたpingセッションを終了していただきありがとうございます。
オスカー

0

継続的なpingに対する少し異なるアプローチは、-cオプションを使用して実行する回数を入力することです。これにより、希望するカウントの後に自動的に停止します。つまり、pingを下回ると、pingの数は100になります。

ping -c 100 192.168.1.1および


0

ただ使用する:

kill -9 %%

実行している現在のバックグラウンドプロセスを強制終了します。


0

jobsコマンドを使用して、(現在のセッションの)バックグラウンドで実行したすべてのプロセスを確認できます。このコマンドを実行すると、現在のbashで実行されているすべてのプロセスが表示され、各プロセスの左側にいくつかの数字が表示されます。

[1]-  Running                 sleep 200000 &
[2]+  Running                 sleep 300000 &

kill -15 n%(nは[[]記号で囲まれた数値です)を使用して、ジョブ(プロセス)を単純に終了できます。

-15プロセスを適切に終了するためのものです。プロセスを強制的に終了したい場合-9は、-15 PSの代わりに使用してください。ルート権限でコマンドを実行する場合は、次のように実行kill -15 n%する必要があります。sudo

2)あなたがして、システム上で実行されているプロセスをすべて見ることができるps -auxと見てのためにping

ps -aux | grep ping 

出力は次のようになります:

root     2615  0.0  0.0  25828  1052 pts/0    S    02:12   0:00 ping 8.8.8.8

2番目の番号(2615)はPIDまたはプロセスIDであり、次のコマンドでプロセスを終了できます

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