2013-10-01 24 views
0

的PID的MATLAB語言,讓正在運行的進程的PID,我所做的:獲取由進程名

pid = getpidof('processName.exe') 

它,而過程是在我的Windows運行返回[]

這是正確的語法?

回答

4

我不知道getpidof函數的功能是什麼 - 它似乎不是一個標準的Matlab函數(2012b)。這裏有一個快速入門找到正在運行的進程的PID -

>> [response, tasks] = system('tasklist | find "explorer.exe"'); 
>> splits = regexp(tasks, ' *', 'split'); 
>> pid = str2double(splits{2}); 

如果需要,你可以將它包裝到一個函數中。請注意,它很慢。

編輯 - 這裏的功能

function pid = getpidof(task) 
# Get the process id of a task by name. 

    [response, tasks] = system(sprintf('tasklist | find "%s"', task)); 

    splits = regexp(tasks, ' *', 'split'); 

    pid = str2double(splits{2}); 

end 
+0

響應= 1tasks =發現:無法訪問「process.exe」:該系統找不到指定的文件 – lola

+0

你真的有所謂的正在運行的進程「process.exe」? –

+0

是的,我已經與findstr嘗試過,它的工作原理,我不知道爲什麼找不到工作? – lola