【MATLAB】杀死正在运行的指定软件
背景
想杀死正在运行的程序,如本次项目开发运行前,需先杀死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