如何结束shell所启动的程序?

如何结束shell所启动的程序?,第1张

ps命令查看进程

然后根据

进程ID

(PID)用kill命令结束进程。

kill

-9

PID

强制结束进程

如果被 Shell 所启动的程序还没有结束,我们就想主动结束它,该怎么做呢? 此时应调用的 Windows API 是 TerminateProcess,

细节如下:

API 的声明:

Const SYNCHRONIZE = &H100000

Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As

Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long

Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As

Long

Private Declare Function TerminateProcess Lib "kernel32" Alias

"TerminateProcess" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long

Shell 的程序范例:(以执行 MS-DOS 为例)

Dim pId As Long, pHnd As Long ' 分别声明 Process

Id 及 Process Handle 变数

pId = Shell("Command.com", vbNormalFocus) ' Shell

传回 Process Id

pHnd = OpenProcess(SYNCHRONIZE, 0, pId) ' 取得 Process

Handle

Call TerminateProcess( pHnd, 0 ) ' TerminateProcess 所传入的是 Process

Handle

Call CloseHandle( pHnd )

可以参考下面的两种参考方法:

第一种:用cmd中的taskkill结束程序

shell ”cmd/c taskkill /f /im 你的进程名.exe“

第二种:(WIN7)以下的电脑可以使用,用ntsd结束程序

shell ”cmd/c ntsd -c q -pn 用户的进程名.exe“

扩展资料:

参考语句

For Each...Next 语句: 对于数组或集合中的每一个元素,重复一组语句。 

FormatDateTime 函数: 返回格式化为日期或时间的表达式。

FormatNumber 函数: 返回格式化为数的表达式。

Function 语句: 声明形成 Function 过程体的名称、参数和代码。

GetObject 函数: 从文件返回对“自动”对象的访问。

参考资料来源:百度百科-Visual Basic


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存