【MATLAB】殺死正在運行的指定軟件
背景
想殺死正在運行的程序,如本次項目開發(fā)運行前,需先殺死word服務(wù)器

執(zhí)行方式
通過研究,沒找到matlab可以殺死指定運行程序的函數(shù),但dos命令可以殺死程序
實現(xiàn)方式
[~,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')); % 殺死指定進程
函數(shù)編寫
?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