Setiap proses akan dicantumkan dalam output dari ps aux
; apakah berlari, tidur, zombie atau berhenti.
Namun, dalam kasus Anda, sejak Anda menjalankan proses menggunakan sh abc.sh
, sh
adalah aplikasi (shell) yang sedang berjalan dan tidak abc.sh
. Karenanya, ps aux
tidak akan mengandung proses abc.sh
karena yang grep
tidak dapat menghasilkan hasil apa pun.
Jadi, cara yang benar Anda seharusnya menggunakannya adalah sebagai:
ps aux | grep sh
Ini juga dapat mengembalikan Anda proses lain yang menjalankan memiliki string sh
di mana saja di output ps aux
.
Anda harus mencatat bahwa proses akan "berjalan" ketika output ps aux
memiliki STAT
as R
. Jika itu adalah sesuatu selain itu, itu tidak berjalan pada saat Anda memecat perintah untuk memeriksa proses yang berjalan. Status proses yang berbeda dapat ditemukan di halaman manual untuk ps:
D uninterruptible sleep (usually IO)
R running or runnable (on run queue)
S interruptible sleep (waiting for an event to complete)
T stopped, either by a job control signal or because it is being traced
W paging (not valid since the 2.6.xx kernel)
X dead (should never be seen)
Z defunct ("zombie") process, terminated but not reaped by its parent
Anda juga bisa menjalankan top
perintah untuk memeriksa apakah proses sedang berjalan atau tidur dan jumlah CPU, RAM yang dikonsumsi. (Ini lagi akan mencantumkan proses Anda sebagai sh
).
Namun, jika Anda ingin proses Anda terdaftar abc.sh
, maka Anda harus memiliki baris pertama skrip yang Anda jalankan sebagai:
#!/bin/sh
sehingga shell akan tahu aplikasi apa yang digunakan untuk menjalankan skrip (sh dalam hal ini, ubah ke #!/bin/bash
untuk bash) dan kemudian berikan izin yang dapat dieksekusi untuk proses menggunakan:
chmod +x /path/to/abc.sh
mengganti /path/to/
dengan lokasi abc.sh
file dan kemudian jalankan abc.sh
menggunakan
/path/to/abc.sh
kembali mengganti /path/to/
dengan lokasi abc.sh
file.
S+
arti stat