【发布时间】:2014-06-30 13:01:56
【问题描述】:
当我执行以下操作时,我必须在之后按CTRL-c,否则外壳会表现得很奇怪。左/右箭头键,例如移动不正确,文字乱七八糟。
# read -r pid < <(ssh 10.10.10.46 'sleep 50 & echo $!') ; echo $pid
2135
# Killed by signal 2.
^C
#
我需要这个作为脚本,所以我想知道为什么需要CTRL-c,是否可以解决它?
更新
它看起来像打开了一个额外的 Bash shell,这就是需要退出的那个。
我真正感兴趣的命令是
read -r pid < <(ssh 10.10.10.46 "mbuffer -4 -v 0 -q -I 8023 > /tmp/mtest & echo $!"); echo $pid
【问题讨论】:
-
不应该是“睡眠 50 && echo $!” ?
-
然后等待
sleep完成。 -
为什么需要
sleep 50? -
@ExplosionPills 用我感兴趣的实际命令更新了 OP。
-
@fmcato :OP 正在创建一个僵尸进程并打印其 PID。 Jasmine:你需要关闭进程的stdin/stderr/stdout,这样进程才能真正分离。