san*_*eep 2 unix perl solaris nohup
在Unix中,我有一个我想用nohup运行的进程.但是,此过程将在某个时刻等待我必须输入yes或no继续的提示.到目前为止,在Unix中我一直在做以下事情
nohup myprocess <<EOF
y
EOF
Run Code Online (Sandbox Code Playgroud)
所以我使用nohup启动进程'myprocess'并使用'y'在一个文件中管道然后关闭文件.上面的行实际上是三个单独的命令 - 即我在UNIX的第一行输入,然后我得到一个提示,我输入'y'然后按Enter键然后最后键入'EOF'并再次点击返回.
我想知道在Perl中执行此操作,但我不确定如何执行此命令,因为它超过三行.我不知道以下是否有效......
my $startprocess = `nohup myprocess <<EOF &
y
EOF
`
Run Code Online (Sandbox Code Playgroud)
请帮忙 - 谢谢!
我认为您的提案将按原样运作.如果没有,请尝试用管道替换重定向:
my $startprocess = `(echo "y" | nohup myprocess) &`;
Run Code Online (Sandbox Code Playgroud)
此外,根据您为什么这样做nohup,请使用以下纯粹的Perl 守护进程查看Proc::Daemon:如何在Linux中将Perl脚本作为系统守护程序运行?
| 归档时间: |
|
| 查看次数: |
1310 次 |
| 最近记录: |