将Perl代码转换为Bash代码

时间:2010-06-29 23:52:19

标签: perl bash

可以将这个微小的代码转换为Bash代码:

user/bin/perl
sleep(300);
system("killall -9 perl &");
sleep(5)

3 个答案:

答案 0 :(得分:6)

#!/bin/bash
sleep 300
killall -9 perl &
sleep 5

答案 1 :(得分:2)

sleep 300
killall -9 perl &
sleep 5

答案 2 :(得分:1)

perl程序不仅会杀死所有其他perl进程,还会杀死它本身,因此功能等效的转换将类似于

#!/bin/bash
sleep 300
killall -9 perl &
kill -9 $$ &
sleep 5

最终sleep 5可能永远不会在原始脚本或此脚本中执行,尽管睡眠命令有可能至少开始执行。

如果翻译成bash的原因正是如此,即程序被认为自杀,其他答案更好。

正如Dennis Williamson所说,在任何一种情况下,你的脚本都应该不使用kill -9并且通常不会全局杀死,但是如果它可能有不好的副作用,它取决于你的环境。