我想要类似于脚本中的守护程序来运行和配置进程。
我的Shell是在Cygwin下模拟的zsh,守护进程是基本的FTP服务器SFK。
对于这里重要的事情,脚本startserv.sh
可以按如下方式草拟:
#!/bin/sh
read -s -p "Enter Password: " pw
user=testuser
share=/fshare
cmd="sfk ftpserv -user=$user -pw=$pw -usedir $share=$share"
$cmd &
运行脚本后startserv.sh
,它停止(结束?)而不显示任何提示,然后:
CTRL+ C结束脚本和后台作业过程;
点击Enter脚本将结束该过程,并保留在后台。
无论如何,我只能通过ps
而看不到它jobs
,因此,当我想关闭该过程时,我必须发送一个残酷的kill -9
信号,我希望避免使用 CTRL+ C。
另一种方法 是在后台运行整个脚本。“将”,但是read
如果脚本以方式运行,则该命令将无法获取用户输入startserv.sh &
。
请注意,我需要一个临时服务器,而不是真正的守护程序:也就是说,我希望服务器进程在脚本结束后在后台运行,以执行简单的交互式Shell任务(使用虚拟机来宾),但是我不希望这样做。不需要生存过程的壳;因此nohup
似乎不合适。
bgproc="$!"
然后command "$bgproc"
采取适当的措施。另请参见stackoverflow.com/questions/1908610/...