# 定义一个循环脚本,并通过nohup和&命令在后台运行该脚本,可以通过jobs命令查看任务状态为Running $ vim a.sh whiletrue;do echo aa sleep 1 done $ nohup sh a.sh & $ jobs [1]+ 19501 Running nohup sh a.sh & # 通过fg命令将后台任务转到前台运行,当任务在前台运行时,可以使用快捷键(ctrl+c)停止任务,或者使用快捷键(ctrl+z)挂起任务,挂起的任务可以通过jobs命令查看任务状态为Stopped. $ fg nohup sh a.sh ^Z $ jobs [1]+ Stopped nohup sh a.sh # 在通过bg命令恢复后台挂起的任务,通过jobs命令查看任务状态为Running $ bg [1]+ nohup sh a.sh & $ jobs [1]+ Running nohup sh a.sh & # 退出当前终端,然后重新登录后,无法通过jobs命令查看到之前的任务,只能过滤进程找到对应的进程pid,然后杀掉进程来停止任务 $ exit logout $ jobs $ ps aux | grep a.sh root 19973 0.0 0.0 113284 1360 ? S 14:51 0:00 sh a.sh $ kill 19973 $ ls a.sh nohup.out $ more nohup.out aa aa aa aa ... $ rm nohup.out