diff --git a/usr.sbin/daemon/daemon.8 b/usr.sbin/daemon/daemon.8 index bdebd83ae508..7dde24b46c7a 100644 --- a/usr.sbin/daemon/daemon.8 +++ b/usr.sbin/daemon/daemon.8 @@ -59,6 +59,10 @@ Write the ID of the created process into the using the .Xr pidfile 3 functionality. +If the +.Fl u +option is used, the directory to contain the pidfile must be writable +by the specified user. Note, that the file will be created shortly before the process is actually executed, and will remain after the process exits (although it will be removed if the execution fails). diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index 8b25800707df..540ebf35df7e 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -79,6 +79,9 @@ main(int argc, char *argv[]) if (argc == 0) usage(); + if (user != NULL) + restrict_process(user); + /* * Try to open the pidfile before calling daemon(3), * to be able to report the error intelligently @@ -94,9 +97,6 @@ main(int argc, char *argv[]) } } - if (user != NULL) - restrict_process(user); - if (daemon(nochdir, noclose) == -1) err(1, NULL);