Как завершить процесс (не самостоятельно) из приложения Какао - PullRequest
0 голосов
/ 07 января 2011

Если приложению Какао нужно завершить другой процесс (который он не породил), какие API можно использовать для этого в 10.5 OS X? Обратите внимание, что идентификатор процесса, который будет завершен, не будет известен внутри приложения Какао. Процесс, который необходимо прекратить, также является процессом Какао.

Ответы [ 4 ]

2 голосов
/ 07 января 2011

Iirc, NSWorkspace будет возвращать только процессы, принадлежащие самому пользователю, однако, конечно, есть много разных способов позаботиться об этом:

1.) Документ от Appple, QA1123

2.) AGProcess от AGKit

2 голосов
/ 07 января 2011

Используйте NSWorkspace или Process Manager, чтобы найти процесс и получить его PID, затем используйте kill как обычно.

0 голосов
/ 20 апреля 2012

Вы должны получить идентификатор процесса, прежде чем убить его.Чтобы убить процесс, просто отправьте ему сигнал SIGABT, SIGTERM или SIGKILL.

0 голосов
/ 20 апреля 2012
NSRunningApplication* app = [NSRunningApplication runningApplicationWithProcessIdentifier:pid];
[app terminate]; // ask the target to terminate self
[app forceTerminate]; // the target will not save the data
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...