Ωme*_*ega 2 shell perl multithreading kill process
我要杀死一些进程和线程(如果存在)在Perl的应用程序,但我不希望使用外部命令(一个或多个),比如ps,grep,awk,cut,uniq或kill.
我目前的代码是:
my $appName = $0;
$appName =~ s/^.*\/([^\/]*)$/$1/;
$_ = qx(kill -9 `ps -eLao pid,command | grep '$appName\[ 0-9\]*\$' |
grep -v grep | awk '\$1 != $$' | cut -d' ' -f1 | uniq` 2>&1);
Run Code Online (Sandbox Code Playgroud)
我正在使用VPS,所以我的记忆力有限.上面的代码有时会返回undef,因为系统无法为外部命令的调用分配内存.我正在寻找替代解决方案,而不使用外部命令.