[systemd-devel] [PATCH V4] core/execute.c: debug log final execve() with argv[]

harald at redhat.com harald at redhat.com
Wed Apr 10 02:51:09 PDT 2013


From: Harald Hoyer <harald at redhat.com>

https://bugzilla.redhat.com/show_bug.cgi?id=772073
---
 src/core/execute.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/core/execute.c b/src/core/execute.c
index 5083af9..fabd38e 100644
--- a/src/core/execute.c
+++ b/src/core/execute.c
@@ -1516,6 +1516,18 @@ int exec_spawn(ExecCommand *command,
 
                 final_env = strv_env_clean(final_env);
 
+                if (_unlikely_(log_get_max_level() >= LOG_PRI(LOG_DEBUG))) {
+                        char _cleanup_free_ *argvs = NULL;
+                        log_open();
+                        argvs = strv_join(&final_argv[1], " ");
+                        log_struct_unit(LOG_DEBUG,
+                                        unit_id,
+                                        "EXECUTABLE=%s", command->path,
+                                        "MESSAGE=Executing: %s %s",
+                                        command->path, argvs,
+                                        NULL);
+                        log_close();
+                }
                 execve(command->path, final_argv, final_env);
                 err = -errno;
                 r = EXIT_EXEC;
-- 
1.8.2



More information about the systemd-devel mailing list