画面を使用しているターミナルとデタッチモードでsleepコマンドを実行しています。
画面がすぐに戻ったら、 ps
を実行しています。 スリープが実行されていることを確認するコマンド。
$ screen -d -m 'sleep 2m'
[[email protected] ~]$ ps
PID TTY TIME CMD
22795 pts/0 00:00:00 bash
22869 pts/0 00:00:00 ps
しかし、コマンドはスリープを表示しませんでした。ここで私が間違っているのは何ですか?
承認された回答:
これは私にとっても最初は混乱していました。次に、ローカルの画面
を読み直します 概要のmanページ—オンラインのmanページには概要が記載されていません)—そして次のように書かれていることに気づきました:
screen [ -options ] [ cmd [ args ] ]
…それで、 cmd
を見たいと思ったのです。 およびargs
独立した議論として。
その最初の引数を引用符で囲んだ値として指定したので—‘ sleep 2m
‘—(正確に)‘ sleep 2m
という名前のコマンドを実行しようとしました ‘、実際に 欲しかった、それは sleep
2m
という独自の引数を使用します 。 画面コード> コマンドは(私のテストでは)正常に終了しましたが、しませんでした コマンドを正常に実行します。
代わりに使用してください:
screen -d -m sleep 2m
ps
の代わりに 、現在の端末に関連付けられているプロセスのみが表示されます(SCREENおよび関連するプロセスはではありません )、使用:
ps x
表示されます:
$ ps x
PID TTY STAT TIME COMMAND
# ...
7514 pts/1 Ss 0:00 -bash
7761 ? Ss 0:00 SCREEN -d -m sleep 2m
7762 pts/2 Ss+ 0:00 sleep 2m
7880 pts/1 R+ 0:00 ps x
# ...
すべてのファイルを取得しますが、ファイルは配列内にあります– Bash?
$ {1 +“ [email protected]”}はシェルスクリプトで何を意味し、「[emailprotected]」とはどのように異なりますか?