Yanıtlar:
İşlem Gezgini'ni kullanarak bunu yapabilirsiniz .
Başlamak için kullanılan komut satırı argümanlarını görmek için farenizi bir işlemin üzerine getirmeniz yeterlidir:
Alternatif olarak, işlemin özelliklerini açabilir ve oradaki komut satırını inceleyebilirsiniz:
Bunu, Windows'un WMI hizmetini kullanarak İşlem Gezgini olmadan da yapabilirsiniz. Aşağıdakileri komut isteminden çalıştırın:
WMIC path win32_process get Caption,Processid,Commandline
Çıktıyı bir dosyaya dökmek istiyorsanız (okumasını biraz kolaylaştırır), / OUTPUT anahtarını kullanın:
WMIC /OUTPUT:C:\Process.txt path win32_process get Caption,Processid,Commandline
Bir de Görev Yöneticisi kullanarak bunu başarabilirsiniz .
Görev yöneticisini açın (CTRL-SHIFT-ESC, CTRL-ALT-DELETE veya başka bir yöntemle).
Windows 7 için (ve muhtemelen Windows XP):
Windows 8 için:
Görüntülenen sütunlara, bir Komut satırı sütunu eklenecektir.
PowerShell'i kurtarmaya.
bul:
Get-WmiObject Win32_Process -Filter "name = 'perl.exe'" | where {$_.CommandLine -eq '"C:\strawberry\perl\bin\perl.exe" t/Server_PreFork.t'}
Ve bonus olarak öldür:
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 }
Sistem kurulumunuz varsa, doğrudan powershell'den veya ps1'den çalıştırabilirsiniz. Powershell ve diğer powershell püf noktaları ile zombileri öldürdüğümde sınırsız senaryo kurulumuna dikkat ediyorum ...
Önceki yanıtlar, işlem zaten çalışıyorsa ve yakında sona ermeyecekse mükemmeldir. Bununla birlikte, (benim yaptığım gibi) bunu belki de işlemlerin birden fazla kez başlatılması ve / veya hızlı bir şekilde sonlandırılması veya daha uzun bir süre içinde gerçekleşen olayların günlüğe kaydedilmesi ile yapmanız gerekiyorsa, İşlem İzleyicisi'ni kullanmanın bir yolu vardır .
Temel olarak sistemdeki çeşitli olayları kaydeder, bu durumda "Process Start" olayını ve izlemek istediğimiz sürecin adını aşağıda gösterildiği gibi filtreleyebiliriz:
Ardından, işlem izleyiciyi çalışır durumda tutmaya devam edin ve oturum açmak istediğiniz işlemi gerçekleştirmek için ne yapıyorsanız yapın. "Ayrıntı" sütununda veya "Komut satırı" sütununda (bunları nasıl yapılandırdığınıza bağlı olarak) komut satırı argümanlarını görebilirsiniz. Örneğin:
Elbette bu yolla çalışma dizini nedir, süreçte hangi ortam değişkenlerinin geçirildiği vb. Gibi daha fazla ilgili bilgiyi elde edebilirsiniz. Ayrıca sonuçları bir dosyaya aktarmak kolaydır.
CygWin kullanırken , bir Python işlemi başlatırsam , bu bir komut satırı örneğidir:
c:\CygWin\bin\python2.7.exe /usr/local/bin/sudoserver.py
Ancak Process Explorer sadece ana exe'yi görür:
( "yolu: [Hata açma işlemi mesajı]") not alın (bkz. EDIT-1). İçin aynı sonuçlar tasklist
:
C:\>tasklist | find "python" /i
python2.7.exe 5740 Console 1 15.312 KB
Yani, şu ana kadar bildiğim tek numara CygWin Bash kabuğu aracılığıyla bulmak pgrep
:
Luis@Kenobi /cygdrive/c/
$ pgrep -f -l server.py
5740 /usr/bin/python2.7 /usr/local/bin/sudoserver.py
CygWin, Windows'ta sorun yaşamadığı sürece bunu bilmek faydalıdır ve birçok POSIX ve Python programını çalıştırmak için kullanabilirsiniz.
EDIT: Windows'ta görev listesi için yönetici ayrıcalıklarına ihtiyacınız yok. CygWin'de, bir yöneticinin işlemini görüntüleyebilmeniz gerekir (benim için daha mantıklı görünen şey: Komut satırının tamamı şifreler gibi bazı parametrelere sahip olabilir ), bu nedenle CygWin Bash'i Yükseltilmiş Yönetici Modunda çalıştırmalıyız .
EDIT-1: İşlem Gezgini'ni yönetici olarak çalıştırırsanız, bu sorun oluşmayacak. İşaret ettiğiniz için teşekkürler, @Pacerier.
[Error opening process message]