Jawaban:
Anda dapat melakukannya menggunakan Process Explorer .
Arahkan kursor Anda ke mouse untuk melihat argumen baris perintah yang digunakan untuk memulainya:
Atau, Anda dapat membuka properti proses dan memeriksa baris perintah di sana:
Anda dapat melakukannya tanpa Process Explorer, menggunakan layanan WMI Windows. Jalankan yang berikut dari command prompt:
WMIC path win32_process get Caption,Processid,Commandline
Jika Anda ingin membuang output ke file (membuatnya sedikit lebih mudah dibaca), gunakan tombol / OUTPUT:
WMIC /OUTPUT:C:\Process.txt path win32_process get Caption,Processid,Commandline
Seseorang juga dapat mencapainya dengan menggunakan Task Manager .
Buka task manager (oleh CTRL-SHIFT-ESC, CTRL-ALT-DELETE atau metode lainnya).
Untuk Windows 7 (dan mungkin Windows XP):
Untuk Windows 8:
Kolom baris Perintah akan ditambahkan ke kolom yang saat ini ditampilkan.
PowerShell untuk menyelamatkan.
Menemukan:
Get-WmiObject Win32_Process -Filter "name = 'perl.exe'" | where {$_.CommandLine -eq '"C:\strawberry\perl\bin\perl.exe" t/Server_PreFork.t'}
Dan bunuh sebagai bonus:
Get-WmiObject Win32_Process -Filter "name = 'perl.exe'" | where {$_.CommandLine -eq '"C:\strawberry\perl\bin\perl.exe" t/Server_PreFork.t'} | ForEach-Object { Invoke-WmiMethod -Path $_.__Path –Name Terminate }
Anda dapat menjalankannya dari PowerShell secara langsung atau dari PS1 jika Anda memiliki pengaturan sistem Anda. Saya merinci pengaturan skrip yang tidak dibatasi pada i kill zombie dengan PowerShell serta trik PowerShell lainnya ...
Jawaban sebelumnya bagus jika prosesnya sudah berjalan dan tidak akan segera berakhir. Namun, jika Anda perlu (seperti yang saya lakukan) untuk melakukan hal ini mungkin dengan proses memulai beberapa kali dan / atau dengan cepat berakhir, atau mungkin mencatat kejadian dalam periode waktu yang lebih lama, ada cara untuk ini menggunakan Proses Monitor .
Pada dasarnya ia mencatat berbagai peristiwa dalam sistem, dalam hal ini kita bisa memfilter acara "Proses Mulai" dan nama proses yang ingin kita pantau, seperti yang ditunjukkan di bawah ini:
Kemudian biarkan monitor proses berjalan dan lakukan apa pun yang Anda lakukan untuk mendapatkan proses yang Anda ingin jalankan log. Anda dapat melihat kolom "Detail" atau kolom "Baris perintah" (tergantung pada cara Anda mengonfigurasinya) argumen baris perintah. Sebagai contoh:
Tentu saja dengan cara ini Anda dapat mengekstraksi lebih banyak informasi terkait seperti apa direktori kerja, variabel lingkungan apa yang telah diteruskan pada proses, dll ... Juga mudah untuk mengekspor hasilnya ke dalam file.
Saat menggunakan CygWin , jika saya memulai proses Python , ini adalah contoh baris perintah:
c:\CygWin\bin\python2.7.exe /usr/local/bin/sudoserver.py
Tetapi Process Explorer hanya melihat exe utama:
(perhatikan "jalur: [Pesan proses pembukaan kesalahan]" (lihat EDIT-1)). Hasil yang sama untuk tasklist
:
C:\>tasklist | find "python" /i
python2.7.exe 5740 Console 1 15.312 KB
Jadi, satu-satunya trik yang saya tahu sampai sekarang, adalah menemukannya melalui shell CygWin Bash pgrep
:
Luis@Kenobi /cygdrive/c/
$ pgrep -f -l server.py
5740 /usr/bin/python2.7 /usr/local/bin/sudoserver.py
Sangat berguna untuk mengetahui hal ini, selama CygWin hidup bersama tanpa masalah di Windows, dan Anda dapat menggunakannya untuk menjalankan banyak program POSIX dan Python.
EDIT: Di Windows Anda tampaknya tidak memerlukan hak administrator untuk daftar tugas. Di CygWin Anda membutuhkan mereka untuk dapat melihat proses administrator (yang tampaknya lebih logis bagi saya: baris perintah lengkap dapat memiliki beberapa parameter seperti kata sandi di dalamnya), jadi kita harus menjalankan Bash CygWin dalam Mode Administrator yang ditinggikan .
EDIT-1: Masalah ini tidak akan terjadi jika Anda menjalankan Process Explorer sebagai administrator. Terima kasih telah menunjuk, @Pacerier.
[Error opening process message]