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

画面コマンドを使用したスリープコマンドがPsに表示されませんか?

画面を使用しているターミナルとデタッチモードで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
 # ...

Linux
  1. サブスクリプション マネージャー:コマンドが見つかりません

  2. dnf:コマンドが見つかりません

  3. bc:コマンドが見つかりません

  1. id:コマンドが見つかりません

  2. w:コマンドが見つかりません

  3. df:コマンドが見つかりません

  1. du:コマンドが見つかりません

  2. rm:コマンドが見つかりません

  3. mv:コマンドが見つかりません