Apple OS X High Sierra。我想要一个后台进程(nohup,因此它不依赖于打开的终端窗口),该进程将坐在那里,并定期检查我的UPS状态,并在状态更改(断电)时给我发送电子邮件。
我以为我重定向了watch命令的输出。
这是我的代码:
#!/bin/csh
while (1)
/opt/local/bin/watch -n 5 -g "pmset -g batt" >> /tmp/upslog.txt
echo "Something is going on with the UPS!" | mail -s "UPS warning" "my@email.edu"
sleep 5
end
所有部分都能完美独立地工作,但是
当我与nohup一起运行时,
%nohup〜/ upswarning.sh&
它立即抱怨
[2] 36486
[OFFICE:/Applications/ppbe/extcmd] %
[2] + Suspended (tty output) ~/upswarning.sh
是否有更好的方法使其静音,或者说服父级shell忽略它并使其在后台运行?