2011-01-11 37 views
0

我正在做一个脚本(Perlshell)。它启动的脚本拥有数千行输出。所以基本上我想制作一个脚本来启动另一个脚本而不输出任何内容 - 如果可能的话,在screen会话中运行它,然后退出脚本(但让其他脚本保持在screen)?我怎样才能做到这一点?启动一个Perl脚本,而不会启动第二<code>Perl</code>脚本输出

回答

4

当您启动脚本直接输出到/dev/null要使脚本在后台运行,请使用&符号。例如,后续将什么都不显示在控制台,并在后台运行...

echo hi > /dev/null & 
+0

惯于此保持第一脚本挂,直到其他模/虽然退出? – Jon 2011-01-11 02:39:32

2

如果你想在screen运行,你必须创建一个screenrc

#!/bin/sh 
echo "screen my_perl_program" > /tmp/$$.screenrc 
echo "autodetach on" >> /tmp/$$.screenrc 
echo "startup_message off" >> /tmp/$$.screenrc 
screen -L -dm -S session1 -c /tmp/$$.screenrc 

然后你就可以恢复它screen -S session1