一、使用CTRL+C结束命令
当命令执行时,如果想要中断(结束)该命令,可以使用CTRL+C。在命令执行的过程中,如果按下CTRL+C,Linux会向进程发送一个中断信号(SIGINT),从而中断该进程。例如,执行以下命令:
ping www.baidu.com
如果想要中途中断,可以按下CTRL+C。命令行会输出以下信息:
^C
--- www.baidu.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 23.402/42.432/61.462/19.030 ms
可以看到,CTRL+C的作用是中断命令,并输出一个中断信息。
二、使用CTRL+Z暂停命令
当命令执行时,如果想要暂停该命令,可以使用CTRL+Z。在命令执行的过程中,如果按下CTRL+Z,Linux会向进程发送一个停止信号(SIGTSTP),从而暂停该进程。例如,执行以下命令:
cat /dev/random > randomdata.txt
如果想要中途暂停,可以按下CTRL+Z。命令行会输出以下信息:
^Z
[1]+ Stopped cat /dev/random > randomdata.txt
可以看到,CTRL+Z的作用是暂停命令,并输出一个停止信息。此时,该命令的状态为Stopped。可以使用jobs命令查看当前所有被暂停的命令。
三、使用fg和bg恢复和挂起命令
在使用CTRL+Z暂停命令后,可以使用fg命令恢复命令的执行。在命令行中输入fg即可恢复被暂停的命令。例如,执行以下命令:
cat /dev/random > randomdata.txt
如果想要中途暂停,可以按下CTRL+Z。命令行会输出以下信息:
^Z
[1]+ Stopped cat /dev/random > randomdata.txt
此时,可以使用fg命令恢复命令的执行。命令行会输出以下信息:
cat /dev/random > randomdata.txt
^C
可以看到,命令已经恢复执行,并输出中断信息。
除了使用fg命令,还可以使用bg命令将命令挂起到后台继续执行。在命令行中输入bg即可将命令挂起到后台。例如,下面是一个例子:
cat /dev/random > randomdata.txt
^Z
[1]+ Stopped cat /dev/random > randomdata.txt
bg
[1]+ cat /dev/random > randomdata.txt &
可以看到,命令已经被挂起到后台,并输出了一个信息。
四、使用kill结束命令
除了使用CTRL+C中断命令外,还可以使用kill命令结束命令。在Linux中,每个进程都有一个唯一的PID(Process ID)。可以使用ps命令查看进程的PID。例如,执行以下命令:
ps aux | grep randomdata.txt
可以看到,ps命令输出了包含randomdata.txt的进程信息:
root 7293 0.0 0.0 0 0 ? S 09:14 0:00 cat /dev/random > randomdata.txt
root 7305 0.0 0.0 14684 1052 pts/0 S+ 09:16 0:00 grep --color=auto randomdata.txt
可以看到,进程的PID为7293。可以使用kill命令结束该进程:
kill 7293
执行kill命令后,命令行不会有任何输出。可以使用ps命令确认该进程已经结束。
五、总结
Linux结束当前命令的方法有很多种。常用的方法有CTRL+C、CTRL+Z、fg、bg和kill。掌握这些方法可以在使用Linux时更加方便。