根据命令行获取PID并杀死进程的bat脚本怎么写

根据命令行获取PID并杀死进程的bat脚本怎么写,第1张

用法:开个cmd.exe窗口,输入:

ntsd -c q -p PID

把最后那个PID,改成你要终止的进程的ID。如果你不知道进程的ID,任务管理器->进程选项卡->查看->选择列->勾上"PID(进程标识符)",然后就能看见了。

答2:xp下还有两个好东东tasklist和tskill。tasklist能列出所有的进程,和相应的信息。tskill能查杀进程,语法很简单:tskill 程序名!!

比如杀死进程 QQ

taskkill /f /fi "IMAGENAME eq QQ.exe"

1、用taskill命令

①taskkill /im

进程名称

示例:用taskkill /im

VStart.exe命令关闭音速启动,VStart.exe就是音速启动的进程名称,下面看 *** 作,执行了三次,成功关闭了音速启动,再看下面的方法.

②taskkill /pid[进程码]

-t(结束该进程)

-f(强制结束该进程以及所有子进程)

注:有两种方法查进程的PID码:

①在命令行下用 tasklist 命令查出进程的PID号码,就是这些

②在任务管理器中的查看选项中选择选择列中勾先PID那一项

示例:举个关闭迅雷的例子,先找出迅雷的PID码2552 taskkill /pid 2552 -f,就是这个指令,下面来运行一下看看.

2、用 wmic process where

name="进程名称" call terminate

这个不需要知道进程的PID号

示例: wmic process where

name="iexplore.exe" call terminate 关闭IE浏览器,我们来运行一下这条指令看看.看到了吧浏览器已经关闭了,再看下面的.

3、ntsd -c q -p

[pid进程码]

示例:还是举个关闭迅雷的吧,同样先找出迅雷的PID码2724

ntsd

-c q -p 2724 是这条指令,下面我们来执行一下看看.看到了吧,迅雷已经关闭了.

这样关进程有什么作用呢?

一方面遇到不能用任务管理器结束的进程可以试试上面的方法,而且用wmic

process where name="进程名称" call terminate和taskkill /im

进程名称这两条可以同时关闭多个进程名相同的进程,举个关2个QQ的例子吧,已经打开了两个QQ程序,wmic process where name="QQ.exe"

call terminate,我们来执行一下看看,看到了吧,两个QQ都关闭了.

保存为.py文件后 运行脚本在后面添加进程名称即可 比如:python proinfo.py qq 即可获取QQ的进程信息,注意不区分大小写

复制代码代码如下:

#-*- encoding:UTF-8 -*-

import os

import sys

import string

import psutil

import re

def get_pid(name):

process_list = psutil.get_process_list()

regex = "pid=(\d+),\sname=\'" + name + "\'"

print regex

pid = 0

for line in process_list:

process_info = str(line)

ini_regex = re.compile(regex)

result = ini_regex.search(process_info)

if result != None:

pid = string.atoi(result.group(1))

print result.group()

break

def main(argv):<br>name = argv[1]<br>get_pid(name)

if __name__ == "__main__":

main(sys.argv)

代码说明:

1.import psutil 需要安装,用于获取linux下进程列表

复制代码代码如下:

process_list = psutil.get_process_list() #获取进程列表

2.import re: python处理正则的模块

复制代码代码如下:

regex = "pid=(\d+),\sname=\'" + name + "\'" #组成string类型的正则表达式

ini_regex = re.compile(regex)#初始化正则表达式

result = ini_regex.search(process_info)#正则表达式匹配

result.group(0):匹配到的整个字符串的内容

result.group(1):匹配第一个()中的内容

具体如下:

1、如果加入D抖动的特别厉害,试试只用PI控制。

2、还有PID参数都是一步一步调出来的,我建议你做个上位机,就是个简单的VB串口程序,用来设置PID参数

3、然后在单片机这边弄个串口接收程序,这里就是个简单的串口程序,人人都会,把接收到的PID存储在缓冲区里。

4、然后单片机程序直接调用。单片机带EEPROM的话,当接收到改变的PID参数时,存储这些参数。去STC官网下你的单片机资料,上面有EEPROM测试程序,直接套用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11496194.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存