我注意到最近出现在/var/log/messages
我们的一台服务器上的一堆错误(如下)。但是,与 syslog 中的解码条目相比,mce 客户端似乎不太确定错误来源。是否有某种键可以用来解释 MCE 输出?
Nov 12 04:19:19 areion kernel: [14698753.176035] Machine check events logged
Nov 12 04:19:19 areion mcelog: HARDWARE ERROR. This is *NOT* a software problem!
Nov 12 04:19:19 areion mcelog: Please contact your hardware vendor
Nov 12 04:19:19 areion mcelog: MCE 0
Nov 12 04:19:19 areion mcelog: CPU 0 BANK 8
Nov 12 04:19:19 areion mcelog: MISC 640738dd0009159c ADDR 96236c6c0
Nov 12 04:19:19 areion mcelog: TIME 1352711959 Mon Nov 12 04:19:19 2012
Nov 12 …
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个 ssh 隧道,将其分离到后台进程中,然后编写一个 pid 文件,稍后我可以用它来杀死它。我可以用 运行 ssh -f
,但是我没有处理它的 PID。
但是,当我尝试通过 nohup 或 setid 运行下面的脚本时,控制权永远不会返回到我尝试守护脚本的 shell。
#!/bin/sh
while getopts ":v" flag; do
case $flag in
v|verbose) verbose=1;;
:) echo "option -$lastflag requires an argument"; exit 1;;
esac
lastflag="$flag"
shift $((OPTIND - 1)); OPTIND=1
done
ssh -p '2222' -nNL '5984:localhost:5984' 'blah@foo.com' &
pid=$!
sleep 2;
ps -p $pid >/dev/null 2>&1 || exit 1
echo $pid > "var/couchdb-tunnel.pid"
wait
Run Code Online (Sandbox Code Playgroud)
调用:
nohup script.sh
setsid script.sh
Run Code Online (Sandbox Code Playgroud)
我如何说服 ssh(我假设)放弃终端?有没有其他方法可以实现我想要的?