GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでスクリーンプロセスを停止するには?

以前の回答は、winputty 端末と amazon ssh サーバー接続では機能しませんでしたが、これは機能します:

screen -S yourscreentitlehere -X stuff $'\003'

参照:

  • ctrl-c を特定の画面セッションに送信する
  • $'\003' は ctrl+c http://donsnotes.com/tech/charsets/ascii.html です
  • 内容は https://www.gnu.org/software/screen/manual/screen.html#Paste です

これを使用して、バグのあるコマンドによって作成された何百もの誤った画面セッションを終了しました:

for s in $(screen -ls|grep -o -P "1\d+.tty"); do screen -X -S $s quit; done;

ここで:grep -o -P "1\d+.tty" Perl ライクな名前の正規表現 "1\d+.tty" でセッション名を取得するコマンドです。 番号 1 で始まるすべてのセッションをキャプチャします 、いくつかの他の番号があります (\d ) .tty で終わる

警告 :上記のコマンドを適用する前に、最初にこのコマンドでテストして、必要なセッションの正確なリストを取得する必要があります。これは、不要なセッションを終了しないようにするためです:

for s in $(screen -ls|grep -o -P "1\d+.tty"); do echo $s; done;

私はいつもこの echofor のリストをテストするたびに $() のサブコマンドによって生成されたループなど、ループが明確ではありません。 拡張。


コマンドラインから (非対話的に) 特定の画面セッションを強制終了する「画面」の方法がいくつかあります。

1) 「終了」コマンドを送信:

screen -X -S "sessionname" quit

2) スクリプトを実行している screen セッションに Ctrl-C を送信:

screen -X -S "sessionname" stuff "^C"

どちらの場合も、'screen -ls' を使用して、強制終了したい screen セッションのセッション名を見つける必要があります...実行中の screen セッションが 1 つしかない場合は、-S " sessionname" パラメータ。


CTRL+a に続いて「k」を押すと、スクリーン セッションが強制終了されます。


Linux
  1. コマンドを使用してLinuxでプロセスを強制終了する方法は?

  2. Linux screen コマンドの使用方法

  3. Linuxで「中断できない」プロセスを停止するには?

  1. Linuxでゾンビプロセスを強制終了する方法

  2. MySQL内でプロセスを停止する方法

  3. LinuxでプロセスのCPU使用率を制限する方法

  1. Linuxでプロセスを強制終了する方法またはプログラムを停止する方法

  2. Linuxにvtopをインストールする方法

  3. Linux – Xセッションを保存する方法— Archlinux + openbox?