将Perl代码转换为Bash代码
请您将这个小代码转换为Bash代码:将Perl代码转换为Bash代码,perl,bash,Perl,Bash,请您将这个小代码转换为Bash代码: user/bin/perl sleep(300); system("killall -9 perl &"); sleep(5) perl程序不仅会杀死所有其他perl进程,还会杀死它本身,因此函数等价的转换类似于 #!/bin/bash sleep 300 killall -9 perl & kill -9 $$ & sleep 5 最后一个sleep 5可能从未在原始脚本或此脚本中执行,尽管sleep命令可能至少开始执行 如果翻
user/bin/perl
sleep(300);
system("killall -9 perl &");
sleep(5)
perl程序不仅会杀死所有其他perl进程,还会杀死它本身,因此函数等价的转换类似于
#!/bin/bash
sleep 300
killall -9 perl &
kill -9 $$ &
sleep 5
最后一个sleep 5
可能从未在原始脚本或此脚本中执行,尽管sleep命令可能至少开始执行
如果翻译成bash的原因正是,即程序不应该自杀,那么其他答案更好
正如丹尼斯·威廉姆森(Dennis Williamson)所说,在任何一种情况下,你的脚本都不应该使用kill-9,通常也不应该使用global kill,但这取决于你的环境是否会产生不良副作用。除非必要,否则请不要使用
kill-9
。看见
#!/bin/bash
sleep 300
killall -9 perl &
sleep 5
#!/bin/bash
sleep 300
killall -9 perl &
kill -9 $$ &
sleep 5