管理进程:`kill`、`bg`、`fg`
学习从命令行有效地终止、暂停和恢复进程。
管理进程:`kill`、`bg`、`fg` 是 CoddyKit 上的免费 Linux Command Line Mastery 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Linux Command Line Mastery 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Linux Command Line Mastery 课程共包含 4 节课。
本课时的部分内容尚未翻译,以英文显示。
Introduction to Process Control
In Linux, every running program is called a process. Managing these processes is essential for system efficiency and troubleshooting.
This lesson teaches you how to take control of processes: suspending them, sending them to the background, bringing them forward, and even terminating them when they misbehave.
The `kill` Command Basics
The kill command is used to send signals to processes. Its primary use is to terminate processes.
To use kill, you need the Process ID (PID) of the target process. You can find PIDs using commands like ps (covered in a previous lesson).
ps aux | grep sleepGraceful Termination: `SIGTERM`
By default, kill sends the SIGTERM (signal 15) signal. This is a polite request for a process to terminate.
A well-behaved program will catch SIGTERM, perform any necessary cleanup (like saving files), and then exit gracefully.
sleep 30 &
# Use 'ps' to find the PID of 'sleep 30'
# Example: kill <PID_OF_SLEEP>Forceful Termination: `SIGKILL` (-9)
Sometimes, a process might ignore SIGTERM, becoming unresponsive or 'frozen'. In such cases, you need to use a stronger signal: SIGKILL (signal 9).
SIGKILL immediately terminates the process without allowing it to clean up. Use it as a last resort!
sleep 60 &
# Use 'ps' to find the PID of 'sleep 60'
# Example: kill -9 <PID_OF_SLEEP>Suspending Processes with Ctrl+Z
You can temporarily pause a running foreground process using the keyboard shortcut Ctrl+Z.
This sends a SIGSTOP signal, suspending the process and returning control to your shell. The process is still in memory but not executing.
sleep 120
# Type 'sleep 120' and then press Ctrl+Z
# You will see '[1]+ Stopped sleep 120'Listing Jobs with `jobs`
When you suspend a process or send it to the background, it becomes a 'job'. You can list all current jobs managed by your shell using the jobs command.
Each job is assigned a job number, which is useful for referring to it with other commands.
sleep 30
# Press Ctrl+Z
jobsBackgrounding a Job: `bg`
A suspended process isn't running. To make it run in the background (without occupying your terminal), use the bg command.
You can refer to the job by its job number (e.g., bg %1). The process will continue running silently.
sleep 60
# Press Ctrl+Z
jobs
bg %1
jobsForegrounding a Job: `fg`
If you have a process running in the background or a suspended one, you can bring it back to the foreground to interact with it using the fg command.
Like bg, you specify the job number (e.g., fg %1) to bring that specific job to the front.
sleep 60 &
jobs
fg %1
# Press Ctrl+C to stop it or Ctrl+Z to suspend it again.Combining Process Control
These commands work together to give you full control over processes:
- Start a task:
nano - Suspend it:
Ctrl+Z - Move to background:
bg %1 - Start another task:
sleep 100 - Suspend it:
Ctrl+Z - List all jobs:
jobs - Bring
nanoto foreground:fg %1 - Terminate
nano:Ctrl+C - Kill
sleep:kill %2
Quick Check
You've started a program, and it's completely unresponsive. You can't even close it with Ctrl+C. You know its Process ID (PID).
What is the most effective command to immediately terminate this stubborn process?
Recap: Process Control
Great job! You've learned how to manage processes effectively:
kill: Send signals to terminate processes.kill -9: Forcefully terminate a process.Ctrl+Z: Suspend a foreground process.jobs: List background and suspended jobs.bg: Send a suspended job to the background.fg: Bring a background job to the foreground.
These commands are crucial for maintaining control over your Linux environment.
用 AI 导师学习 Linux Command Line Mastery — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 12
- 课程
- 48
常见问题解答
「管理进程:`kill`、`bg`、`fg`」课时是免费的吗?
是的 — 「管理进程:`kill`、`bg`、`fg`」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Linux Command Line Mastery 课程的其余内容,请升级到 CoddyKit PRO。 Linux Command Line Mastery 课程共包含 4 节课。
「管理进程:`kill`、`bg`、`fg`」这节课中我会学到什么?
学习从命令行有效地终止、暂停和恢复进程。 你通过在浏览器中直接运行的动手代码来练习 Linux Command Line Mastery,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Linux Command Line Mastery 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Linux Command Line Mastery 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「管理进程:`kill`、`bg`、`fg`」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Linux Command Line Mastery 课中编写并运行代码吗?
能。每节 Linux Command Line Mastery 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 理解进程:`ps`、`top`、`htop`
- 管理进程:`kill`、`bg`、`fg`
- 监控系统资源:`df`、`du`、`free`
- 使用 nice、renice 与信号管理进程优先级