gpt4 book ai didi

perl - 我可以在 Perl 的反引号中执行多行命令吗?

转载 作者:行者123 更新时间:2023-12-03 04:57:58 24 4
gpt4 key购买 nike

在 Unix 中,我想使用 nohup 运行一个进程。但是,此过程有时会在出现提示时等待,我必须输入"is"或“否”才能继续。到目前为止,在 Unix 中我一直在做以下事情

nohup myprocess <<EOF
y
EOF

因此,我使用 nohup 启动进程“myprocess”,并使用“y”通过管道输入文件,然后关闭该文件。上面的行实际上是三个单独的命令 - 即我在 UNIX 中的第一行按 Enter 键,然后出现提示,输入“y”,然后按 Enter 键,最后输入“EOF”并再次按回车键。

我想知道在 Perl 中执行这个命令,但我不确定如何执行这个命令,因为它超过了三行。我不知道以下是否有效......

my $startprocess = `nohup myprocess <<EOF &
y
EOF
`

请帮忙 - 谢谢!

最佳答案

我认为您的提案将按原样发挥作用。如果没有,请尝试用管道替换重定向:

my $startprocess = `(echo "y" | nohup myprocess) &`;

此外,根据您执行 nohup 的原因,请查看以下使用 Proc::Daemon 的纯 Perl 守护进程方法:How can I run a Perl script as a system daemon in linux?

关于perl - 我可以在 Perl 的反引号中执行多行命令吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3835809/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com