GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mendapatkan argumen baris perintah diteruskan ke proses yang sedang berjalan pada sistem unix/linux?

Ada beberapa opsi:

ps -fp <pid>
cat /proc/<pid>/cmdline | sed -e "s/\x00/ /g"; echo

Ada info lebih lanjut di /proc/<pid> di Linux, lihat saja.

Di Unix lain, hal-hal mungkin berbeda. ps perintah akan bekerja di mana saja, /proc hal-hal spesifik untuk OS. Misalnya di AIX tidak ada cmdline di /proc .


Ini akan berhasil:

xargs -0 < /proc/<pid>/cmdline

Tanpa xargs, tidak akan ada spasi di antara argumen, karena telah dikonversi menjadi NUL.


Baris perintah lengkap

Untuk Sistem Linux &Unix Anda dapat menggunakan ps -ef | grep process_name untuk mendapatkan baris perintah lengkap.

Pada sistem SunOS, jika Anda ingin mendapatkan baris perintah lengkap, Anda dapat menggunakan

/usr/ucb/ps -auxww | grep -i process_name

Untuk mendapatkan baris perintah lengkap, Anda harus menjadi pengguna super.

Daftar argumen

pargs -a PROCESS_ID

akan memberikan daftar rinci argumen yang diteruskan ke suatu proses. Ini akan menampilkan array argumen seperti ini:

argv[o]: first argument
argv[1]: second..
argv[*]: and so on..

Saya tidak menemukan perintah serupa untuk Linux, tetapi saya akan menggunakan perintah berikut untuk mendapatkan keluaran serupa:

tr '\0' '\n' < /proc/<pid>/environ

Linux
  1. Cara menginstal perangkat lunak dari baris perintah Linux

  2. Cara Mengekstrak File tar.gz di Linux dengan Menggunakan Command Line

  3. Cara Menghapus Pengguna di Linux Menggunakan Command Line

  1. UNIX / Linux :Bagaimana mengubah kebaikan (prioritas) suatu proses

  2. Bagaimana cara kerja perintah 'ls' di Linux/Unix?

  3. Bagaimana cara mendapatkan ID proses untuk mematikan proses nohup?

  1. Bagaimana cara mendapatkan jalur proses di Unix / Linux

  2. Bagaimana cara mendapatkan PID induk dari proses yang diberikan di GNU/Linux dari baris perintah?

  3. Bagaimana agar hanya pengguna, pid dan perintah yang dijalankan untuk proses tertentu? (Ubuntu 11.10)