2010-08-03 50 views
0

我正在编写一个Perl脚本,我需要执行Unix Ctrl + Z关于脚本。 我该如何在Perl中做到这一点?如何在Perl脚本中按Ctrl-Z

谢谢。

+0

是否要将已运行的进程发送到后台或启动后台? – Ether 2010-08-03 16:47:34

回答

5

从perl的,你可以发送信号到过程与功能击杀,具有相同的名称作为Unix命令它可以做同样的事情。相当于按Ctrl +ž运行

杀-SIGTSTP PID

你需要找出数值的三偏磷酸钠信号有您的系统上。您会通过在命令行上运行

杀-l三偏磷酸钠

做到这一点。比方说,这将返回20

然后在你的Perl脚本,你会增加

杀死20 => $$;

这将三偏磷酸钠信号发送到当前正在运行的进程ID($$)

更新: 由daxim所述,您可以跳过“杀-l”的一部分,并提供名称的信号:

kill 'TSTP' => $$; 
+2

太复杂了。只要'杀死'TSTP'...','杀死'HUP'...等等。请参阅http://p3rl.org/ipc – daxim 2010-08-03 08:26:28

+0

非常感谢:) – 2010-08-03 08:28:07

+0

@daxim谢谢你,对于语法来说是对的,尽管我对于不了解信号的人来说,真的不会将perlipc当作温柔的帮助 – ivancho 2010-08-03 09:02:29

-2

在bash CTRL +ž停止当前任务和与%把它放在后台的JobId您可以返回到这个工作。我不知道你的意思,因为我想CTRL +ž通过庆典抓..

+0

我想让脚本发送bash在后台放置一个特定的工作。 – 2010-08-03 07:51:41

相关问题