搜索
查看: 4873|回复: 5

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

  [复制链接]

16

主题

58

帖子

524

积分

培训班

积分
524
发表于 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. }
复制代码
coder
回复

使用道具 举报

9

主题

462

帖子

2551

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2551
发表于 2013-4-5 22:54:42 | 显示全部楼层

在命令行里先试行试一下, 不要隐藏窗口先试一下, process(pid).kill() 这样再试试,

在命令行里先试行试一下,
不要隐藏窗口先试一下,
process(pid).kill()  这样再试试,

回复

使用道具 举报

18

主题

108

帖子

626

积分

三级会员

Rank: 4

积分
626
发表于 2013-4-5 23:16:49 | 显示全部楼层

import process; process.execute("cmd.exe", "/c taskkill /F /T /PID "++pid++" >

import process;
process.execute("cmd.exe", "/c taskkill /F /T /PID "++pid++" > nul", ,0x0/*_SW_HIDE*/ )
是想要这样的效果吗?
如果人人都献出一点爱,那么这aardio将变成最美的语言!
回复

使用道具 举报

16

主题

58

帖子

524

积分

培训班

积分
524
 楼主| 发表于 2013-4-5 23:41:03 | 显示全部楼层

[i=s] 本帖最后由 多多洛 于 2013-4-5 23:53 编辑 [/i] 嗯!不错!兄弟犀利啊,这正是我要找的东东!

本帖最后由 多多洛 于 2013-4-5 23:53 编辑

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

使用道具 举报

6

主题

13

帖子

80

积分

一级会员

Rank: 2

积分
80
发表于 2014-4-18 12:40:37 | 显示全部楼层

标记下,以后估计有用

标记下,以后估计有用
回复

使用道具 举报

9

主题

96

帖子

623

积分

三级会员

叫我何细尔

Rank: 4

积分
623
QQ
发表于 2014-5-11 21:26:50 | 显示全部楼层

收藏一下 看了下5115的问题跟回复 强

收藏一下 看了下5115的问题跟回复 强
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2018-10-21 02:42 , Processed in 0.062500 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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