我最近完成了Wiki web development tutorial(http://golang.org/doc/articles/wiki/).我玩得很开心,我想用net/http包做更多的实验.
然而,我注意到,当我从控制台运行wiki时,wiki接管了控制台.如果我关闭控制台终端或使用CTRL+Z停止进程,则服务器停止.
如何让服务器在后台运行?我认为这个术语是在守护进程中运行.
我在Ubuntu 12.04上运行这个.谢谢你的帮助.
我最近完成了Wiki web development tutorial(http://golang.org/doc/articles/wiki/).我玩得很开心,我想用net/http包做更多的实验.
然而,我注意到,当我从控制台运行wiki时,wiki接管了控制台.如果我关闭控制台终端或使用CTRL+Z停止进程,则服务器停止.
如何让服务器在后台运行?我认为这个术语是在守护进程中运行.
我在Ubuntu 12.04上运行这个.谢谢你的帮助.
如果你想要一个不费吹灰之力的开始脚本,你可以使用upstart
服务.有关示例,请参见相应的手册第页和第/etc/init/*.conf
页.在创建了这样一个过程之后
service myserver start
如果你想要更多的功能,比如特定的限制或权限管理,你可以试试xinetd
个.
你可以这样开始你的过程:
nohup ./myexecutable &
&
告诉shell在后台启动命令,并将其保留在作业(job)列表中.
但是,如果被调用的进程重新连接挂断信号,这将不起作用.
确实,您需要从shell的工作列表中删除该流程.
./myexecutable &
disown <pid>
./myexecutable &!
通常,shell打印进程的PID,然后可以使用kill
命令终止该进程,以停止服务器.如果shell没有打印PID,可以使用
echo $!
直接在处决后.这将打印Forking 过程的PID.