Отключить процесс от Sh (не Bash) или «отказаться» от Sh (не Bash)

Además de publicar -el procesamiento de la salida strace, no hay nada disponible para ignorar las llamadas al sistema fallidas en strace. No sería demasiado difícil de agregar, mire la función syscall_exiting_traceensyscall.c.

Si prefiere seguir el ángulo de procesamiento posterior -, Ole Tange ya se ha encargado de eso por usted de una manera más completa de lo que es probable que llegue aquí :el La herramientatracefileejecutará stracey filtrará la información que está buscando de una manera muy legible. Consulte Listar los archivos a los que accede un programa para obtener más detalles. Otra respuesta a esa pregunta enumera otros enfoques posibles, incluido LoggedFS que encuentro muy útil.

Otra opción es usar SystemTap ; por ejemplo

#!/usr/bin/env stap

global stored_filename, stored_path

probe syscall.open {
  stored_filename = filename
}

probe syscall.open.return {
  if (execname() == "cat" && $return >= 0) {
    printf("opened %s\n", stored_filename)
  }
}

probe syscall.openat {
  stored_filename = filename
  stored_path = dfd_str
}

probe syscall.openat.return {
  if (execname() == "cat" && $return >= 0) {
    printf("opened %s in %s\n", stored_filename, stored_path)
  }
}

mostrará el nombre de cualquier archivo abierto con éxito por cualquier proceso cat.

5
02.02.2016, 20:33
0 ответов

Теги

Похожие вопросы