樓宇圍棋應用
回答
請注意,如果您nohup
該過程將「無限期」運行,直到您致電kill <PID>
就可以了。此外,如果它綁定到HTTP端口,則需要記住要殺死正在運行的進程,否則新的/重建進程將無法綁定。
使用像Supervisor(guide here)或daemontools這樣簡單的東西是運行管理進程的更爲理智的方式。下面是一個Go應用程序的快速監事配置:
[program:index]
command=/home/yourappuser/bin/index
autostart=true
autorestart=true
startretries=10
# the user your app should run as (i.e. *not* root!)
user=yourappuser
# where your application runs from
directory=/srv/www/yourapp.com/
# environmental variables
environment=APP_SETTINGS="/srv/www/yourapp.com/prod.env"
redirect_stderr=true
# the name of the log file.
stdout_logfile=/var/log/supervisor/yourapp.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
如果您轉到應用程序不需要綁定到端口80。如果是的話,使用setcap
(永不運行應用程序的根目錄)這將工作與setcap cap_net_bind_service=+ep /home/yourappuser/bin/index
。
請注意,如果你'nohup'這個過程將會「無限期地」運行,直到你調用'kill
@elithrar這正是我所需要的。謝謝你的指導,並善意發表上述作爲我的問題的答案,以便我可以接受它 – user2650277
- 1. 樓宇升壓BCP
- 2. 樓宇共享庫爲Android
- 3. 錯誤樓宇tesseract爲Android
- 4. 樓宇助推器-python示例
- 5. 圍棋
- 6. 圍棋
- 7. 圍棋
- 8. 圍棋
- 9. 圍棋
- 10. 圍棋
- 11. 圍棋
- 12. 圍棋
- 13. C#流利的API用於樓宇控制:需要反饋
- 14. 從圍棋
- 15. unsafe.Pointer爲[]圍棋
- 16. 在圍棋
- 17. 解組圍棋
- 18. 與圍棋
- 19. 對於圍棋
- 20. 在圍棋
- 21. 錯誤圍棋
- 22. 提高圍棋
- 23. 分叉(圍棋)
- 24. VAR VS:圍棋
- 25. 圍棋在JSON
- 26. 凡在圍棋
- 27. strings.Split圍棋
- 28. 實現圍棋
- 29. 拆封圍棋
- 30. 「網」在圍棋
索引是你的應用程序的名字嗎?編譯後的Go可執行文件通常只是一個常規的可執行文件,可讀/寫stdin/stdout,打開套接字等。 –
@AlexAtNet yes我的應用程序被命名爲index.go – user2650277
'index'在前臺運行,'Ctrl + C'發送SIGINT到'index'關閉進程。 – jmaloney