私はscreen
を使って実験を行うたくさんのサーバーを持っています。手順は次のとおりです。
ssh
screen
を起動screen
を切り離す実験の実行中に、すべてのサーバーにssh
ingして、実行中のプロセスを一覧表示することで(top
またはps
を使用して)、どのサーバーにいるのかを簡単に確認できます。
しかし、実験が終了したら、どのセッションでスクリーンセッションを開いているのかを知ることができます(出力を見たり、再起動したりすることができるように)。
シモンズ:私の実験もファイルにそれらの出力を印刷します...しかし、これは私の質問のポイントではありません。
ユーザーのすべてのスクリーンセッションを一覧表示するには、そのユーザーとして次のコマンドを実行します。
screen -ls
特定のマシン上のすべてのスクリーンセッションを見るには、次のようにします。
ls -laR /var/run/screen/
私はこれを私のマシンで入手します。
gentle ~ # ls -laR /var/run/screen/
/var/run/screen/:
total 1
drwxrwxr-x 4 root utmp 96 Mar 1 2005 .
drwxr-xr-x 10 root root 840 Feb 1 03:10 ..
drwx------ 2 josh users 88 Jan 13 11:33 S-josh
drwx------ 2 root root 48 Feb 11 10:50 S-root
/var/run/screen/S-josh:
total 0
drwx------ 2 josh users 88 Jan 13 11:33 .
drwxrwxr-x 4 root utmp 96 Mar 1 2005 ..
prwx------ 1 josh users 0 Feb 11 10:41 12931.pts-0.gentle
/var/run/screen/S-root:
total 0
drwx------ 2 root root 48 Feb 11 10:50 .
drwxrwxr-x 4 root utmp 96 Mar 1 2005 ..
これは、セキュリティ、状態、およびストリームを処理するために、ファイルシステムのアクセス許可に包まれたUnixソケットのかなり鮮やかな使用法です。
コマンドscreen -listはあなたが望むものです。
man を参照してください
Joshperryの答えは正しいのですが、スクリーン名(-tオプションで設定したもの)を教えてくれるわけではないことに非常に煩わしいと思います。これが実際にセッションを識別するために使うものです。 (彼のせいではない、もちろん、それはスクリーンの欠陥です)
私が代わりにこのようなスクリプトを使うのはそのためです。ps auxw|grep -i screen|grep -v grep
私はあなたの質問について本当によくわかりません、しかしあなたが本当に欲しいのがリスト現在開かれているスクリーンセッションだけであるならば、試みてください:
screen -ls
For windows system
Open PuTTY
then login in server
コンソールで画面を見たい場合は、コマンドを書く必要があります。
Screen -ls
あなたが画面にアクセスする必要があるなら、あなたは以下のコマンドを使用する必要があります
screen -x screen id
コマンドラインにPWD
を入力して、現在どのフォルダにいるのかを確認します。
ほとんどの場合、screen -RRx $username/
で十分です:)
それでもすべての画面を一覧表示したい場合は、次のスクリプトをパスに入れて、それをscreenという名前で好きな名前にします。
#!/bin/bash
if [[ "$1" != "-ls-all" ]]; then
exec /usr/bin/screen "$@"
else
shopt -s nullglob
screens=(/var/run/screen/S-*/*)
if (( ${#screens[@]} == 0 )); then
echo "no screen session found in /var/run/screen"
else
echo "${screens[@]#*S-}"
fi
fi
最初のパラメータとして-ls-allオプションを指定すると、すべてのスクリーンセッションを表示することを除いて、screenとまったく同じように動作します。
複数の人々はすでにそれを指摘しています
$ screen -ls
スクリーンセッションを一覧表示します。
これはあなたにとって役に立つかもしれない別のトリックです。
サーバxxxの。bashrcファイルの最後の行に次のコマンドを追加すると、ログイン時に自動的にスクリーンセッションに再接続されます。
screen -d -r
あなたがそれが有用であることを願ってください。
ps x | grep SCREEN
あなたがコマンドを使用した場合にそのスクリーンが何を実行しているかを見るため
screen -A -m -d php make_something.php