Perl系统(命令)然后kill命令【JAVA教程】

!
也想出现在这里? 联系我们
信息

Perl系统(命令)然后kill命令,第1张

概述Perl系统命令)然后kill命令

我试图输出一个系统netstat -an -p TCP $interval > $log来获得$ seconds的睡眠时间,然后退出/ kill netstat命令,但是无法正常工作。

如果我使用start netstat… ,我的sleep和kill命令工作,但它不写入日志。

如果我只使用netstat… ,那么它会写入日志,但不会移动到sleep和kill命令。

任何想法如何解决这个??

FIN_WAIT1是什么意思

在solaris 11.0中检测文件描述符是否是套接字,并提取ip地址

windows上的Netstat中的“”是什么意思?

inetinfo.exe总是出现在任务pipe理器

如何使用ADB shell查找进程正在使用的端口?

$netstat_cmd = \”netstat -an -p TCP $interval >$netstatlog; $stop_netstat_cmd = \”c:utilitIEspskill NETSTAT.exe\”; system($netstat_cmd); sleep $seconds; system \”$stop_netstat_cmd\”;

谢谢!

如何使用批处理脚本在windows中优先通过端口80终止CLOSE_WAIT状态进程

如何在linux,C代码中使用它们列出活动端口和进程

为什么总是5个连接没有附加程序?

ES不听外部请求

获取使用的端口和状态

为什么不使用IPC::Run ? 它有一个kill_kill()方法,可以在Unix和Win32上移植(如果你在windows上运行,后者很重要,因为你的“开始”似乎可能表示)。

至于你自己的方法, start xxx重定向不起作用,所以最简单的解决方法是:

创建一个批处理文件来运行netstat并重定向到一个文件

用start启动批处理文件

你的麻烦是系统()运行它的命令,并等待它的返回,所以你永远不会调用sleep()。 您需要从另一个进程运行netstat,或者在后台运行。 你可以使用fork()来实现这个功能,从你的主进程产生另一个进程,并运行netstat:

my $interval = 5; my $netstatlog = \”foo.tmp\”; my $seconds = 10; my $netstat_cmd = \”netstat -an -p TCP $interval >$netstatlog\”; my $stop_netstat_cmd = \”pskill NETSTAT.exe\”; if (my $pID = fork()) { # make new process print \”launched netstat $pIDn\”; } else { # this is the \”new\” process system($netstat_cmd); exit(); } sleep $seconds; system \”$stop_netstat_cmd\”;

(我没有pskill,所以你必须让这部分工作自己…)

Forks::Super使这种任务容易为你。

use Forks::Super; fork { cmd => $netstat_cmd,timeout => $seconds }; wait;

总结

以上是内存溢出为你收集整理的Perl系统(命令)然后kill命令全部内容,希望文章能够帮你解决Perl系统(命令)然后kill命令所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞104 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容