2012-08-22 15 views
6

tôi có ba tập tin: monitor.sh, mà bắt đầu kịch bản python:Làm thế nào để bắt đầu quá trình thông qua SSH, do đó, nó tiếp tục chạy?

sudo python ./webCheck & 
sudo python ./apiCheck & 

và otherones, webCheck & apiCheck: nó là vụ phải chạy ở chế độ nền, sau khi tôi đóng terminal. Nó kiểm tra tính khả dụng của trang web khác của tôi, trong một vòng lặp vô tận.

Tôi không thể làm cho nó hoạt động, tôi đang cố gắng nohup, nhưng không thể có được cú pháp đúng. webCheck phải được chạy với sudo. Không nohup được bao gồm cũng trong kịch bản sh? Tôi đoán là monitor.sh chỉ là bắt đầu hai cái khác, để người ta không cần nohup.

Cách thực hiện?

+1

Tôi không nghĩ có bất kỳ điều gì đặc biệt đối với ec2 trong câu hỏi này, vì vậy tôi sẽ kiểm tra [Ngăn chặn quá trình nền bị ngừng sau khi đóng ứng dụng SSH] (http://stackoverflow.com/q/285015/950912) – brc

Trả lời

12

Bạn sẽ có thể sử dụng:

sudo nohup python ./webCheck & sudo nohup python ./apiCheck &

Tôi không nghĩ monitor.sh bạn sẽ cần đến nó, vì nó nên mất một thời gian tương đối ngắn để bắt đầu hai người kia. Tuy nhiên tôi không tích cực nếu hai kiểm tra sẽ trở thành trẻ em của monitor.sh, mà có thể sẽ là một vấn đề.

+0

Hoạt động, tôi có thể giết thiết bị đầu cuối và nó vẫn chạy. Nó không hiển thị sau khi sử dụng sudo ps, nhưng khi tôi làm sudo ps aux | ít hơn, nó xuất hiện! – Kokesh

+0

Rất vui khi nó hoạt động! Bạn cũng có thể muốn xem xét đề xuất của nneonneo. Daemonizing chương trình có thể là một giải pháp tốt hơn, tùy thuộc vào những gì bạn đang cố gắng để làm. – gsteiner