我正在写一个Perl脚本,我需要在脚本上执行Unix Ctrl + Z.我怎么能在Perl中做到这一点?
谢谢。
从perl,您可以使用函数kill向进程发送信号,该函数与执行相同操作的Unix命令行工具同名。等效于Ctrl + Z正在运行
杀死-SIGTSTP pid
您需要找出您的TSTP信号在您的系统上具有的数值。你可以通过运行来做到这一点
kill -l TSTP
在命令行上。我们说这会返回20
然后在您的Perl脚本中添加
杀20 => $$;
这会将TSTP信号发送到当前正在运行的进程ID($$)
更新:如daxim所述,您可以跳过'kill -l'部分并直接提供信号名称:
kill 'TSTP' => $$;
在bash中,ctrl + z停止当前作业并将其放在后台,使用%JobId可以返回此作业。我不确定你的意思,因为我认为ctrl + z被bash抓住了..