Bir işlemi duraklatmak veya devam ettirmek için os.kill ile SIGSTOP ve .SIGCONT komutlarını kullanan bir python betiğim var. İlgili PID'nin duraklatılmış veya devam ettirilmiş durumda olup olmadığını belirlemenin bir yolu var mı? Ps'yi arayın ve STAT değerini kontrol edin.Linux PID'nin duraklatılıp durdurulmadığını belirlemek için bir yol var mı?
cevap
/Proc dizinindeki bir işlem hakkında bilgi bulabilirsiniz (/proc/<PID>
).
open(os.path.join('/proc', str(pid), 'stat')).readline().split()[2]=='T'
DÜZENLEME: Sen psuti l kullanabilirsiniz
re.sub(r'\(.*\)', '()', open(os.path.join('/proc', str(pid), 'stat')).readline()).split()[2]=='T'
D Kesintisiz uyku hali (genellikle IO) R Çalışıyorken veya çalıştırılabilirken (çalışma kuyruğunda) S Kesintisiz uyku (bir olayın tamamlanması bekleniyor) T Bir iş kontrol sinyaliyle veya izlenme nedeniyle durduruldu. W paging (2.6.xx kernel'den beri geçerli değil) X ölü (asla görülmemelidir) Z Ayrılmaz ("zombi") işlemi sonlandırılır, ancak ebeveyn tarafından okunmaz.
10 Teşekkür ederim, ps axo fname, stat, pid kullandım ve aynen söylediğin gibi çalıştım, bunun için STAT değerini bilmiyordum. – CobraBytez
: Bu bir sonraki ifadesi orijinal bir (muhtemelen nadir) hatayı düzeltir Özellikle, bu piton ifadesi ile çalıştırmak durumunu bulabilirsiniz
>>> import psutil
>>> pid = 1243
>>> p = psutil.Process(pid)
>>> p.status
0
>>> str(p.status)
'running'
>>> p.status == psutil.STATUS_RUNNING
True
>>>
>>> p.suspend()
>>> p.status
3
>>> str(p.status)
'stopped'
>>> p.status == psutil.STATUS_STOPPED
True
>>>
>>> p.resume()
>>> str(p.status)
'running'
>>>
- 1. Bir formun metninin sığacağını belirlemek için bir yol var mı?
- 2. IDE'de çalışıp çalışmadığınızı belirlemek için bir yol var mı?
- 3. Bir öğenin sarılı olup olmadığını belirlemek için herhangi bir yol var mı?
- 4. Kovaryans bildirmek için bir yol var mı?
- 5. GWT kodunun geliştirme modunda çalışıp çalışmadığını belirlemek için bir yol var mı?
- 6. Bir Xen tabanlı sanal makine içinde çalışıp çalışmadığını belirlemek için çalıştırabileceğim bir OS komutu var mı
- 7. Her döngü için paralel olması için bir yol var mı?
- 8. İzleme bağlam bir bağlam anahtarı profilleyicilerini kullanılmadan gerçekleşir zaman belirlemek için herhangi bir yolu var mı Linux
- 9. SASS'de bir dersi “genişletmek” için bir yol var mı?
- 10. Elixir'de bir fonksiyonun kontrol edilmesi için bir yol var mı?
- 11. Bir pdf'yi C# ile düzenlemek için bir yol var mı?
- 12. Uzak bir deposu "tanımlamak" için basit bir yol var mı?
- 13. Bir Fotoğrafı Fotoğraf Kütüphanesine kaydetmek için bir yol var mı?
- 14. Bir nesnedeki değişiklikleri izlemek için bir yol var mı?
- 15. Linux OS için herhangi bir Github GUI İstemcisi var mı?
- 16. Linux adam sayfaları için bir (RESTful) API var mı?
- 17. Linux için bir MS-DRM istemci kütüphanesi var mı?
- 18. Android için oluşturduğumuzu belirlemek için Qt'de bir #fdef var
- 19. Yol bölümünde geçerli bir URL var mı?
- 20. Bir TcpListener'ın şu anda dinlemediğini belirlemek için bir özellik/yöntem var mı?
- 21. Alternatifler kullanan bir Linux sisteminde JAVA_HOME için doğru yol nedir?
- 22. JSF'de yönlendirmeyi uygulamak için basit bir yol var mı?
- 23. TabLayout'ta SpannableString'i kullanmak için herhangi bir yol var mı?
- 24. İki seçeneği "birleştirmek" için herhangi bir yol var mı?
- 25. Mapply'ı paralel hale getirmek için verimli bir yol var mı?
- 26. Linux'ta ekran koruyucuları engellemek için iyi bir yol var mı?
- 27. V3 google.maps.Polygon'un kaybolması için bir yol var mı?
- 28. Android TV'yi VirtualBox'ta çalıştırmak için bir yol var mı?
- 29. , build.xml içinde ant-robose ayarlamak için bir yol var mı?
- 30. CSS'yi durdurmak için herhangi bir yol var mı?
os.path.join kullanmayın! ... bekleyin, bu saf linux sorudur. – janislaw
@janislaw - teşekkürler. –