2013-09-04 60 views
13

Tôi cần tạo trang web tĩnh. Vì vậy, tôi kết nối thông qua ssh đến một số máy chủ địa phương, nơi tôi muốn tạo một trang web tĩnh. Sau đó, tôi sử dụng python để làm cho nó hoạt động:Chạy python trong terminal và không chấm dứt nó khi terminal bị đóng

$ python -m http.server 55550 

Nhưng nếu tôi đóng terminal thì chương trình python sẽ bị chấm dứt. Tôi muốn tắt máy tính của mình, nhưng tôi muốn để quá trình này chạy trên máy chủ cục bộ đó, vì vậy những người khác vẫn có thể truy cập trang web đó.

Tôi làm cách nào để thực hiện việc này? Sau đó, làm thế nào tôi nên chấm dứt quá trình đó sau?

Nhờ sự giúp đỡ

+1

điều này có lẽ tốt hơn trên superuser, nhưng bạn nên tìm int làm cho nó một daemon (sử dụng các thiết bị của os của bạn để làm điều đó), nhưng dựa trên dấu nhắc shell bạn có thể thử 'nohu p' bằng cách sử dụng một cái gì đó 'nohup python -m SimpleHTTPServer 55550' sẽ làm cho không đáp ứng với hup và tiếp tục chạy nếu thuật ngữ proc biến mất. – Doon

Trả lời

18

Sử dụng nohup shell builtin:

nohup python -m http.server 55550 

Để chấm dứt quá trình này, bạn chỉ cần giết nó bằng cách sử dụng lệnh kill, giống như bất kỳ quá trình khác.

5

bạn cũng có thể khởi động nó trong nền

python -m http.server 55550 & 

sau đó nhập

disown 

tách quá trình đến hạn hiện tại

+1

python -m SimpleHTTPServer 55550 & disown nó cho phép tôi nhập nhiều lệnh hơn trong thiết bị đầu cuối đó, nhưng nó không hoạt động sau khi tôi thoát ssh –

+0

Tôi nên làm nó hàng ngày với nhiều quá trình khác mà tôi khởi chạy;) Bạn có thể bỏ lỡ điều gì đó. :/ –

+2

@Windkiller [disown vs nohup] (http://www.zzrevi.com/q/answers-difference-between-nohup-disown-and-3886.html);) –

4
screen 
python -m SimpleHTTPServer 55550 & 
press ctrl+a, then press d 
exit 

shutdown your computer 
... 
start your computer 
ssh your server 
screen -r 
+0

nếu bạn tắt máy tính, quá trình màn hình sẽ tạm dừng ... –

+0

@FoxMaSk: máy chủ sẽ không – metaphy

+0

bạn không tháo màn hình trước để thoát sẽ kết thúc quá trình python, bạn cần phải làm crtl-D để tháo màn hình ; sau đó bạn có thể làm lối ra, không bạn? –