Это должно работать над любой системой POSIX (хотя смотря /proc
файловая система, как другие предположили, легче, если Вы знаете, что это будет там).
Однако: os.kill
может также перестать работать, если у Вас нет разрешения сигнализировать о процессе. Необходимо было бы сделать что-то как:
import sys
import os
import errno
try:
os.kill(int(sys.argv[1]), 0)
except OSError, err:
if err.errno == errno.ESRCH:
print "Not running"
elif err.errno == errno.EPERM:
print "No permission to signal this process!"
else:
print "Unknown error"
else:
print "Running"
Поскольку я считаю, что это ошибка, я сообщил об этом в Microsoft, пожалуйста, проголосуйте и поделитесь своими идеями: http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx ? FeedbackID = 513174