我正在制作一个启动第二个Perl
脚本的脚本(shell
或Perl
)。它启动的脚本有数千行输出。所以基本上我想制作一个脚本,在没有任何输出的情况下启动另一个脚本 - 如果可能的话,在screen
会话中运行它然后退出脚本(但保持另一个脚本在screen
中运行)?我怎么能这样做?
答案 0 :(得分:4)
当您启动脚本直接输出到 /dev/null时。要使脚本在后台运行,请使用&
符号。例如,以下内容将不会在控制台中显示任何内容并在后台运行...
echo hi > /dev/null &
答案 1 :(得分: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