
誤って 1000 を超えるスクリーンを作成してしまった。 1 つのコマンドですべて (またはいくつか) を終了するにはどうすればよいですか?
答え1
以下を使用できます:
pkill screen
または
killall screen
OSX では、プロセスはすべて大文字で SCREEN と呼ばれます。したがって、次のように使用します。
pkill SCREEN
または
killall SCREEN
答え2
画面が表示されない場合は、以下を使用します。
screen -wipe
答え3
最近 awk に慣れ始めたので、これをまとめて目的を果たしました。非常に理解しやすいので投稿しました。
screen -ls | grep '(Detached)' | awk 'sys {screen -S $1 -X quit}'
ここで、 はscreen -ls
現在のすべての画面をリストします。
grep 'pattern'
一致するすべての行をフィルター処理します。 次に、 ですべての分離画面のハンドルを取得し、 でawk sys {command}
コマンドをコピーして貼り付け、 で実行できます。 はsys
、$1
awk によって取得された最初の引数を参照します。 最後に、 で quit コマンドを実行しますscreen -X quit
。
答え4
for scr in $(screen -ls | awk '{print $1}'); do screen -S $scr -X kill; done