aardio 官方社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 13009|回复: 5

隐藏命令行窗口执行一条命令遇到的问题

[复制链接]

16

主题

41

回帖

527

积分

培训班

积分
527
发表于 2013-4-5 22:29:06 | 显示全部楼层 |阅读模式
本帖最后由 多多洛 于 2013-4-5 22:30 编辑

使用nginx服务器时,其nginx.exe的主进程ID是存放在logs/nginx.pid文件中的,文件内容为一个进程ID数字;
nginx运行时会在进程管理器中看到有2个nginx.exe程序,一个是主进程,另一个是子进程;
我们通过获知主进程号来执行结束进程树命令——
taskkill /F /T /PID 7956 > nul
可以关闭nginx.exe服务器

希望隐藏命令行窗口执行结束进程树命令,写了如下函数,测试发现不起作用,求解答:
  1. //停止服务器
  2. stop = function () {
  3.         import string; import process.popen;
  4.         var pid = tonumber(string.load(pid_file));
  5.         if ( pid > 0 ) {
  6.                 var cmd = "taskkill /F /T /PID "++pid++" > nul";
  7.                 var prcs = process.popen("cmd.exe", cmd);
  8.         }
  9. }
复制代码

9

主题

444

回帖

2546

积分

版主

积分
2546
发表于 2013-4-5 22:54:42 | 显示全部楼层
在命令行里先试行试一下,
不要隐藏窗口先试一下,
process(pid).kill()  这样再试试,

18

主题

84

回帖

628

积分

三级会员

积分
628
发表于 2013-4-5 23:16:49 | 显示全部楼层
import process;
process.execute("cmd.exe", "/c taskkill /F /T /PID "++pid++" > nul", ,0x0/*_SW_HIDE*/ )
是想要这样的效果吗?

16

主题

41

回帖

527

积分

培训班

积分
527
 楼主| 发表于 2013-4-5 23:41:03 | 显示全部楼层
本帖最后由 多多洛 于 2013-4-5 23:53 编辑

嗯!不错!兄弟犀利啊,这正是我要找的东东!

6

主题

7

回帖

80

积分

一级会员

积分
80
发表于 2014-4-18 12:40:37 | 显示全部楼层
标记下,以后估计有用

9

主题

86

回帖

630

积分

三级会员

叫我何细尔

积分
630
QQ
发表于 2014-5-11 21:26:50 | 显示全部楼层
收藏一下 看了下5115的问题跟回复 强
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2024-6-15 16:23 , Processed in 0.065294 second(s), 23 queries .

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

快速回复 返回顶部 返回列表