GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Schlafbefehl mit Bildschirmbefehl wird in Ps nicht angezeigt?

Ich führe den Sleep-Befehl im Terminal über den Bildschirm und im getrennten Modus aus.
Sobald der Bildschirm sofort zurückkehrt, führe ich ps aus Befehl, um zu überprüfen, ob der Ruhezustand ausgeführt wird.

$ 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

Aber der Befehl zeigte keinen Schlaf. Was mache ich hier falsch?

Akzeptierte Antwort:

Das hat mich anfangs auch verunsichert. Ich lese dann erneut den lokalen screen Manpage für die ZUSAMMENFASSUNG – die Online-Manpage enthält keine Zusammenfassung) – und bemerkte, dass dort stand:

screen [ -options ] [ cmd [ args ] ]

… was mich glauben ließ, dass es den cmd sehen wollte und args als unabhängige Argumente.

Da Sie dieses erste Argument als Wert in Anführungszeichen angegeben haben – „sleep 2m ‘ – es hat versucht, einen Befehl namens (genau) ‘sleep 2m auszuführen ‘, im Gegensatz zu dem, was Sie wirklich tun wollte, was sleep war mit einem eigenen Argument von 2m . Der screen Der Befehl wurde erfolgreich beendet (in meinen Tests), aber nicht Ihren Befehl erfolgreich ausführen.

Verwenden Sie stattdessen:

screen -d -m sleep 2m

Statt ps , das nur Prozesse anzeigt, die mit dem aktuellen Terminal verbunden sind (wobei SCREEN und verwandte Prozesse nicht sind ), verwenden Sie:

ps x

was es zeigen wird:

$ 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. Subscription-Manager:Befehl nicht gefunden

  2. dnf:Befehl nicht gefunden

  3. bc:Befehl nicht gefunden

  4. id:Befehl nicht gefunden

  5. w:Befehl nicht gefunden

Tipps zur Verwendung des Bildschirms

Führen Sie Hintergrundprozesse in Linux mit dem Screen-Befehl aus

Verwenden des Watch-Befehls unter Linux

aws-shell:Befehl nicht gefunden

ln:Befehl nicht gefunden

Befehl bei Verwendung von sudo nicht gefunden