wiem, że mogę dostać PID
dla procesu za pomocą ps
, ale jak za znaleźć pełną ścieżkę tego procesu?Jak uzyskać pełną ścieżkę dla procesu na OS X?
Odpowiedz
OS X zawiera bibliotekę libproc, która może służyć do zbierania różnych informacji o procesach. W celu znalezienia bezwzględną ścieżkę dla danego PID następujący kod może być użyty:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <libproc.h>
int main (int argc, char* argv[])
{
pid_t pid; int ret;
char pathbuf[PROC_PIDPATHINFO_MAXSIZE];
if (argc > 1) {
pid = (pid_t) atoi(argv[1]);
ret = proc_pidpath (pid, pathbuf, sizeof(pathbuf));
if (ret <= 0) {
fprintf(stderr, "PID %d: proc_pidpath();\n", pid);
fprintf(stderr, " %s\n", strerror(errno));
} else {
printf("proc %d: %s\n", pid, pathbuf);
}
}
return 0;
}
przykład kompilowania i bieg (powyżej kod jest przechowywany w pathfind.c, 32291 jest PID proces Próbuję znaleźć informacje na ścieżkę):
$ cc pathfind.c -o pathfind
$ ./pathfind 32291
proc 32291: /some/path/your-binary-app
sprawdź na tym blogu:http://astojanov.wordpress.com/2011/11/16/mac-os-x-resolve-absolute-path-using-process-pid/
Jednym z rozwiązań może być usi ng:
which `ps -o comm= -p $PID`
Gdzie $ PID to pid procesu, który chcesz sprawdzić. Testowane w systemie OS X 10.8.2.
Testowany także na 10.7.5 ... genialny. – Floris
Działa również na 10,5, dzięki @tomis! – AnneTheAgile
Czasami wydaje się, że powraca względne ścieżki. Oto test, który zrobiłem: '$> który \' ps -o comm = -p 81233 \ '=>./Ft_minishell2', to znaczy, nie jest to pełna ścieżka, jak w absolutnej ścieżce. Nie wiem, czy to było początkowe myślenie za tym pytaniem. To jest Mavericks. – conradkdotcom
Spróbuj tego:
sudo ls -l /proc/$(ps -e | grep $PROCESS_NAME | awk '{print $1}')/exe
gdzie $ PROCESS_NAME jest nazwa procesu chcesz sprawdzić.
Nie ma/proc na OS X ... – tomis
Czy słyszał o 'osxfuse' - repozytorium systemu plików zawiera kod źródłowy dla kilku systemów plików ekscytujące i użyteczne dla przeglądanie, kompilacji i czerpać, jak sshfs, procfs, AccessibilityFS, itp. – ymn
Słyszałem o tym (i używam go), ale nie jest tam natywnie ... Wielu użytkowników nie ma tego zainstalowanego. – tomis
- 1. Jak uzyskać pełną ścieżkę wirtualną aplikacji ASP.NET?
- 2. Jak uzyskać pełną ścieżkę, podając nazwę pliku?
- 3. Jak włączyć pełną liczbę rdzeni w systemie OS X?
- 4. Jak uzyskać identyfikator PID procesu, podając nazwę procesu w systemie Mac OS X?
- 5. Spacje w java wykonać ścieżkę dla OS X
- 6. Jak uzyskać pełną ścieżkę do katalogu bieżącego pliku w Pythonie?
- 7. W systemie Linux, jak uzyskać pełną ścieżkę polecenia używam?
- 8. Jak uzyskać pełną ścieżkę do pliku w VBScript?
- 9. jak uzyskać dokładną pełną ścieżkę do pliku w perlu
- 10. Jak uzyskać pełną ścieżkę do argumentu wiersza polecenia filename?
- 11. Jak uzyskać pełną ścieżkę dostępu do pliku z wejściem plików
- 12. Jak uzyskać pełną ścieżkę do pliku build.gradle przez Groovy?
- 13. Numpy-MKL dla OS X
- 14. Jak uzyskać typ pliku na Mac OS X?
- 15. Jak uzyskać temperaturę procesora i prędkość wentylatora na OS X?
- 16. dekodować tinyurl w R, aby uzyskać pełną ścieżkę URL?
- 17. Jak zainstalować wiązanie C++ dla ZeroMQ na Mac OS X?
- 18. dtruss nie na PS OS X 10.11
- 19. PHP stworzyć losowy plik TMP i uzyskać jego pełną ścieżkę
- 20. Firebase uzyskać pełną ścieżkę URL odniesienia w dataSnapshot (JavaScript API)
- 21. Odzyskiwanie mapę pamięci własnego procesu w OS X 10.5/10.6
- 22. Jak piszesz program dla Mac OS X?
- 23. Jak uzyskać zaporę Mac OS X Firewall, aby na stałe zezwalała na moją aplikację na iOS?
- 24. Jak zainstalować ack na OS X (10.8.4)?
- 25. Python CGIHTTPServer odmowa dostępu na OS X
- 26. Jak zainstalować mod_jk na Mac OS X
- 27. Terminal killall systemu Mac OS X nie zabije uruchomionego procesu.
- 28. Nie można uzyskać procesu mac os x lldb, aby odczytać STDIN
- 29. Szyny - Jak uzyskać ścieżkę pliku (nie ścieżkę URL) dla zasobów?
- 30. Jak skonfigurować libusb na Mac OS X?
http://superuser.com/questions/103309/how-can-i-kolute-the-absolute-path-of-a-running-process –
możliwy duplikat [Uzyskaj prawdziwą ścieżkę aplikacji z pid?] (http://stackoverflow.com/questions/7511864/get-real-path-of-application- from-pid) – AlphaMale