GNU/Linux >> Belajar Linux >  >> Linux

Perintah Tidur Menggunakan Perintah Layar Tidak Ditampilkan Di Ps?

Saya menjalankan perintah tidur di terminal menggunakan layar dan dalam mode terpisah.
Setelah layar segera kembali, saya menjalankan ps perintah untuk memverifikasi tidur sedang berjalan.

$ 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

Tetapi perintah itu tidak menunjukkan tidur. Apa yang saya lakukan salah di sini?

Jawaban yang Diterima:

Ini juga membingungkan saya pada awalnya. Saya kemudian membaca kembali screen lokal halaman manual untuk SINOPSIS — halaman manual online tidak memberikan sinopsis) — dan perhatikan bahwa tertulis:

screen [ -options ] [ cmd [ args ] ]

… yang membuat saya percaya bahwa ia ingin melihat cmd dan args sebagai argumen independen.

Karena Anda memberikan argumen pertama itu sebagai nilai yang dikutip — ‘sleep 2m ‘ — ia mencoba menjalankan perintah bernama (tepatnya) ‘sleep 2m ', sebagai lawan dari apa yang Anda benar-benar diinginkan, yaitu sleep dengan argumennya sendiri yaitu 2m . screen perintah berhasil keluar (dalam pengujian saya), tetapi tidak berhasil menjalankan perintah Anda.

Gunakan, sebagai gantinya:

screen -d -m sleep 2m

Alih-alih ps , yang hanya akan menampilkan proses yang terkait dengan terminal saat ini (yang LAYAR dan proses terkaitnya tidak ), gunakan:

ps x

yang akan menunjukkannya:

$ 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. manajer langganan:perintah tidak ditemukan

  2. dnf:perintah tidak ditemukan

  3. bc:perintah tidak ditemukan

  1. id:perintah tidak ditemukan

  2. w:perintah tidak ditemukan

  3. df:perintah tidak ditemukan

  1. Substitusi Perintah Menggunakan “?

  2. Menggunakan Perintah Tidur Linux di Skrip Bash

  3. du:perintah tidak ditemukan