Tôi đã thử chạy những thứ như thế này:Chạy chương trình từ trăn, và có nó tiếp tục chạy sau khi kịch bản được giết
subprocess.Popen(['nohup', 'my_command'],
stdout=open('/dev/null', 'w'),
stderr=open('logfile.log', 'a'))
này hoạt động nếu kịch bản mẹ thoát một cách duyên dáng, nhưng nếu tôi giết script (Ctrl-C), tất cả các tiến trình con của tôi cũng bị giết. Có cách nào để tránh điều này không?
Nền tảng tôi quan tâm là OS X và Linux, sử dụng Python 2.6 và Python 2.7.
Nếu tôi ngã ba, và sau đó tôi giết một nửa của ngã ba (thay vì cho phép nó để thoát), sẽ giết chết quá trình mới? – James
Được rồi, sau khi đọc thêm: điều này đòi hỏi phải gấp hai lần để tránh nhận tín hiệu? Tôi khá giống như quá trình cha mẹ để duy trì tương tác --- công việc của nó là để theo dõi các quá trình mà nó sinh sản --- điều đó là không thể nếu nó phải loại bỏ vỏ. – James
Cảm ơn! Tôi đã thêm triển khai của tôi vào câu trả lời của bạn. – James