Bird
Raised Fist0
Linux CLIscripting~10 mins

nohup for persistent processes in Linux CLI - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - nohup for persistent processes
Start command with nohup
↓
Ignore hangup signal
↓
Redirect output to nohup.out
↓
Run command in background (&)
↓
Process keeps running after logout
↓
Check nohup.out for output
The flow shows how nohup runs a command ignoring hangup signals, redirects output, runs in background, and keeps running after logout.
Execution Sample
Linux CLI
nohup sleep 10 &
ps
cat nohup.out
Runs sleep 10 ignoring hangup, lists processes, then shows output file content.
Execution Table
StepActionCommand/SignalResultOutput
1Start command with nohupnohup sleep 10 &sleep runs ignoring hangupnohup: ignoring input and appending output to 'nohup.out'
2List processespsShows sleep process runningPID TTY TIME CMD ... sleep 10
3Check nohup output filecat nohup.outFile is empty (sleep has no output)
4Logout userexitsleep continues running
5After 10 secondspssleep process gone (finished)
💡 sleep 10 finishes after 10 seconds, process ends
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 4Final
sleep_processnot runningrunning (ignores hangup)runningrunning after logoutstopped after 10s
Key Moments - 3 Insights
Why does the process keep running after logout?
Because nohup ignores the hangup signal sent on logout, as shown in execution_table step 4.
Where does the output of the command go?
Output is redirected to nohup.out file by default, as shown in execution_table step 1.
What happens if the command produces no output?
nohup.out remains empty, as shown in execution_table step 3 with sleep command.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what message does nohup print when starting the command?
ACommand not found
BProcess started successfully
Cnohup: ignoring input and appending output to 'nohup.out'
DOutput redirected to /dev/null
💡 Hint
Check execution_table row 1, Output column.
At which step does the process continue running after the user logs out?
AStep 2
BStep 4
CStep 3
DStep 5
💡 Hint
Look at execution_table step 4, Result column.
If the command produced output, where would you find it?
AIn nohup.out file
BIn the terminal only
CIn /var/log/syslog
DNowhere, output is discarded
💡 Hint
See execution_table step 1, Output column about output redirection.
Concept Snapshot
nohup runs a command ignoring hangup signals
Redirects output to nohup.out by default
Use & to run command in background
Process keeps running after logout
Check nohup.out for command output
Full Transcript
The nohup command lets you run a process that keeps running even after you log out. It ignores the hangup signal sent when you exit the shell. When you run 'nohup sleep 10 &', it starts the sleep command in the background and redirects any output to a file called nohup.out. You can check running processes with 'ps' and see the output file with 'cat nohup.out'. Even if you log out, the sleep command keeps running until it finishes after 10 seconds.

Practice

(1/5)
1. What is the main purpose of using nohup in Linux command line?
easy
A. To speed up the execution of a command
B. To stop a running process immediately
C. To display the output of a command in color
D. To run a command that keeps running after logout or terminal closes

Solution

  1. Step 1: Understand the function of nohup

    nohup stands for 'no hang up' and is used to run commands that continue running even after the user logs out or the terminal closes.
  2. Step 2: Compare options with this definition

    Only "To run a command that keeps running after logout or terminal closes" matches this purpose. The other options describe unrelated functions.
  3. Final Answer:

    To run a command that keeps running after logout or terminal closes -> Option D
  4. Quick Check:

    nohup = persistent command run [OK]
Hint: Remember nohup means 'no hang up' to keep process alive [OK]
Common Mistakes:
  • Thinking nohup speeds up commands
  • Confusing nohup with output coloring
  • Assuming nohup stops processes
2. Which of the following is the correct syntax to run my_script.sh persistently in the background using nohup?
easy
A. nohup my_script.sh &
B. nohup & my_script.sh
C. my_script.sh nohup &
D. nohup my_script.sh

Solution

  1. Step 1: Recall the correct nohup syntax

    The correct way is to write nohup command & to run the command persistently in the background.
  2. Step 2: Check each option

    nohup my_script.sh & matches the correct syntax. nohup & my_script.sh places & before the command incorrectly. my_script.sh nohup & misplaces nohup. nohup my_script.sh runs nohup but not in background.
  3. Final Answer:

    nohup my_script.sh & -> Option A
  4. Quick Check:

    nohup + command + & = correct syntax [OK]
Hint: Use nohup command & to run in background [OK]
Common Mistakes:
  • Placing & before the command
  • Omitting & to run in background
  • Misplacing nohup after the command
3. What will be the output file created when you run nohup sleep 60 & without redirecting output?
medium
A. No file is created
B. nohup.out
C. output.txt
D. sleep.log

Solution

  1. Step 1: Understand nohup default output behavior

    If no output redirection is given, nohup writes stdout and stderr to a file named nohup.out in the current directory.
  2. Step 2: Match this with options

    Only nohup.out matches the default output file. Others are incorrect or no file.
  3. Final Answer:

    nohup.out -> Option B
  4. Quick Check:

    Default nohup output file = nohup.out [OK]
Hint: Default nohup output file is nohup.out if not redirected [OK]
Common Mistakes:
  • Assuming no file is created
  • Thinking output goes to sleep.log
  • Confusing output.txt as default
4. You run nohup my_script.sh & but the process stops after you logout. What is the most likely reason?
medium
A. You did not redirect output, causing terminal hangup
B. You forgot to add & to run in background
C. You ran the command without nohup
D. You closed the terminal before the command started

Solution

  1. Step 1: Understand nohup and output redirection

    Without redirecting output, nohup writes to nohup.out, but if permissions or disk issues prevent this, the process may stop on logout.
  2. Step 2: Analyze options

    You did not redirect output, causing terminal hangup correctly points to output redirection issues causing hangup. You forgot to add & to run in background is wrong because & was added. You ran the command without nohup is wrong because nohup was used. You closed the terminal before the command started is unlikely as process starts immediately.
  3. Final Answer:

    You did not redirect output, causing terminal hangup -> Option A
  4. Quick Check:

    Output redirection needed to avoid hangup [OK]
Hint: Always redirect output to avoid hangup with nohup [OK]
Common Mistakes:
  • Ignoring output redirection importance
  • Assuming & alone keeps process alive
  • Thinking nohup always works without output file
5. You want to run backup.sh persistently, save all output to backup.log, and avoid terminal clutter. Which command should you use?
hard
A. ./backup.sh > backup.log 2>&1 &
B. nohup ./backup.sh & > backup.log 2>&1
C. nohup ./backup.sh > backup.log 2>&1 &
D. nohup ./backup.sh 2>&1 > backup.log &

Solution

  1. Step 1: Understand output redirection with nohup

    To save both standard output and errors to a file, use command > file 2>&1. The ampersand & runs the command in background.
  2. Step 2: Check each option's correctness

    nohup ./backup.sh > backup.log 2>&1 & correctly places redirection before &. nohup ./backup.sh & > backup.log 2>&1 misplaces & before redirection. ./backup.sh > backup.log 2>&1 & lacks nohup. nohup ./backup.sh 2>&1 > backup.log & reverses redirection order, which is incorrect.
  3. Final Answer:

    nohup ./backup.sh > backup.log 2>&1 & -> Option C
  4. Quick Check:

    nohup + redirect stdout/stderr + & = correct [OK]
Hint: Redirect output before & to save logs with nohup [OK]
Common Mistakes:
  • Placing & before output redirection
  • Forgetting nohup for persistence
  • Reversing stderr and stdout redirection order
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard