如何在Perl脚本中Ctrl-Z

问题描述 投票:0回答:2

我正在写一个Perl脚本,我需要在脚本上执行Unix Ctrl + Z.我怎么能在Perl中做到这一点?

谢谢。

perl unix
2个回答
5
投票

从perl,您可以使用函数kill向进程发送信号,该函数与执行相同操作的Unix命令行工具同名。等效于Ctrl + Z正在运行

杀死-SIGTSTP pid

您需要找出您的TSTP信号在您的系统上具有的数值。你可以通过运行来做到这一点

kill -l TSTP

在命令行上。我们说这会返回20

然后在您的Perl脚本中添加

杀20 => $$;

这会将TSTP信号发送到当前正在运行的进程ID($$)

更新:如daxim所述,您可以跳过'kill -l'部分并直接提供信号名称:

kill 'TSTP' => $$;

-2
投票

在bash中,ctrl + z停止当前作业并将其放在后台,使用%JobId可以返回此作业。我不确定你的意思,因为我认为ctrl + z被bash抓住了..

© www.soinside.com 2019 - 2024. All rights reserved.