2015-12-21 31 views
1

我有一些脚本正在虚拟机上开发,但有时需要在生产服务器上运行才能正确测试。在后台运行ssh进程得到暂停

我需要从脚本调试输出,使我一起修修补补以下解决方案:

function test_remote() { 
    scp $1 Prod:/home/xxx/tmp/ 
    n=${1:t:r} 
    f=${1:t} 
    cmd="ssh Prod \"/usr/bin/php /home/xxx/tmp/$f\" > /home/xxx/tests/$n-remote-test.html" 
    eval ${cmd} 
    ssh Prod "rm /home/xxx/tmp/$f" 
    echo "done" 
} 

,我已经把我的.zshrc文件

我想在运行它使用

test_remote path_to_file/php_file.php & 

的背景,但我做我总是得到以下结果

[1] + 12996 suspended (tty input) test_remote path_to_file/php_file.php 

如果我BG它恢复它当后台进程试图从标准输入来读取,它被发送,其挂起它的信号只是重复相同的消息

+0

当你用' Jens

+0

它确实在两种情况下!如果你不介意在帖子中有一些解释是很好的,那么我可以将它标记为正确的答案 – user25470

回答

1

。这样用户可以将流程再次带到前台并提供必要的输入。

如果不需要提供任何输入,则可以在调用test_remotecmd时,重定向来自/dev/null的标准输入。