nohup Unix Utility

From GM-RKB
Jump to navigation Jump to search

A nohup Unix Utility is a Unix utility that allows users to run processes in the background without interruption (even after logging out from the terminal session).

  • Context:
    • It can (typically) prevent processes from receiving the SIGHUP (hangup) signal upon terminal logout, ensuring uninterrupted execution.
    • It can (often) redirect output to a file, nohup.out, if no other output file is specified.
    • ...
    • It can run long-running or critical processes that must persist beyond the user's login session.
    • It can allow users to run commands like nohup your_command & to execute in the background, making it useful for server environments and remote session tasks.
    • It can be combined with output redirection, for instance, `nohup your_command > output.log 2>&1 &`, to manage process output and error logs effectively.
    • It can support a wide range of applications, from shell scripts to other command-line utilities, as long as they are executed in a Unix shell.
    • ...
  • Example(s):
    • `nohup bash example.sh &`, which runs `example.sh` in the background, continuing even after logout.
    • `nohup python data_processing.py > data_processing.log 2>&1 &`, which executes a Python script and saves the output to `data_processing.log`.
    • ...
  • Counter-Example(s):
    • tmux and screen, which create detachable sessions that can be reattached, but do not prevent the process from stopping if SIGHUP is sent to the session itself.
    • Running a command without `nohup`, where the process would be terminated upon logout if not otherwise managed by another tool.
  • See: Unix Utility, Background Process, Signal Handling, Shell Scripting, Process Management


References