dans Windows, j'utilise processpx de sysinternals pour détecter si un processus tente d'accéder à un fichier qui n'existe pas. Existe-t-il un moyen de faire cela sur osx?Détecter si un processus ne peut pas déposer un fichier
-1
A
Répondre
1
Vous pouvez le faire relativement facilement avec un script dtrace.
Nous voulons enregistrer tous les appels ouverts pour le nom de fichier, si l'ouverture échoue, et l'errno est ENOENT, puis afficher le nom du processus, pid et nom de fichier.
syscall::open*:entry
{ self->path = copyinstr(arg0); }
syscall::open*:return
/arg0 < 0 && errno == ENOENT/
{ printf("%s(%d): %s", execname, pid, self->path); }
puis sudo dtrace -s <script>
. Sur OSX, cependant, avec la protection de l'intégrité du système, beaucoup de processus ne seront pas surveillés par cela.
Pourquoi le tag Linux? Considérez 'strace' ou' dtruss' –