Si no desea/no puede instalar ningún software adicional, existe una forma integrada de buscar los ID de proceso y las aplicaciones: ps.
ps es una útil herramienta de línea de comandos para encontrar información sobre los procesos en ejecución. Para encontrar una aplicación particular, dado el número de proceso (que he asignado a un myProcessId variable):
do shell script "ps -p " & myProcessId
este devolverá un resultado como este
PID TTY TIME CMD
66766 ?? 9:17.66 /Applications/Firefox.app/Contents/MacOS/firefox-bin -psn_0_3793822
para restringir el resultado de sólo el relevante línea, pipe it to grep como así
do shell script "ps -p " & myProcessId & "|grep " & myProcessId
Al analizar la respuesta puede encontrar el nombre de la aplicación. Esto puede ser un poco complicado porque el resultado mostrará el comando real utilizado para la aplicación, no el nombre de la aplicación (si observa el ejemplo, verá que es posible encontrarlo buscando algo.app en el resultado) .
Editar - Disculpa, he entendido mal la pregunta.
Puede hacerlo con los eventos del sistema (que resulta ser mucho más fácil que faffing un poco con la cáscara de todos modos):
tell application "System Events"
set theprocs to every process whose unix id is myProcessId
repeat with proc in theprocs
set the frontmost of proc to true
end repeat
end tell
Lo sé, pero no es interesante para mí. Como ya expliqué en mi pregunta, ya sé el nombre de la aplicación, pero hay varias. La única forma en que puedo diferenciarlos es mediante la identificación del proceso, que por casualidad sé. –
oh, ya veo. Ver la edición de arriba. – stib
+1 para el filtro 'cuyo identificador de Unix es ...', pero no es necesario un _loop_; simplemente apunte al 'primer proceso cuyo ID de Unix es ...'. – mklement0