背景
想杀死正在运行的程序,如本次项目开发运行前,需先杀死word服务器
执行方式
通过研究,没找到matlab可以杀死指定运行程序的函数,但dos命令可以杀死程序
实现方式
[~,cmdout] = system('tasklist'); % 读取正在运行的程序 cmdout = split(cmdout,strcat(10)); WINWORD = cmdout(contains(cmdout,'WINWORD.EXE'),:); % 获取指定进程WINWORD.EXE的信息 WINWORD = split( WINWORD,' '); system(strcat('taskkill /pid',32,WINWORD{find(ismember(WINWORD,'Console'),1)-1},32,'/f')); % 杀死指定进程
函数编写
function [ ] = KillProcess( ProcessName ) % COPY:何其 2021年9月9日23:56:09 % ProcessName % 要杀死的指定进程 % 不得为空 % eg:'WINWORD.EXE' % %% %获取所有进程信息 [~,cmdout] = system('tasklist'); cmdout = split(cmdout,strcat(10)); WINWORD = cmdout(contains(cmdout,ProcessName),:); %% %获取指定进程信息 WINWORD = split( WINWORD,' '); %% % 杀死指定进程 system(strcat('taskkill /pid' , 32 , WINWORD{ find( ismember( WINWORD, 'Console' ) , 1 ) - 1 } , 32 , ' /f' ) ); end