如何在Perl脚本中Ctrl-Z

guy*_*gas 0 unix perl

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

谢谢.

iva*_*cho 5

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

杀死-SIGTSTP pid

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

kill -l TSTP

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

然后在您的Perl脚本中添加

杀20 => $$;

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

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

kill 'TSTP' => $$;
Run Code Online (Sandbox Code Playgroud)

  • 太复杂.只是'杀'TSTP'......,`杀'HUP'......等等.请参阅http://p3rl.org/ipc (3认同)