如何在Perl脚本中Ctrl-Z

时间:2010-08-03 07:24:56

标签: perl unix

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

感谢。

2 个答案:

答案 0 :(得分:5)

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

  

kill -SIGTSTP pid

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

来做到这一点
  

kill -l TSTP

命令行上的

。假设这返回20

然后在你的Perl脚本中添加

  

kill 20 => $$;

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

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

kill 'TSTP' => $$;

答案 1 :(得分:-2)

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