14.前台和后台运行 shell 脚本
-- 未经授权禁止转载 --

       shell 是一个命令行解释器, 负责接收和解析用户通过终端输入的命令

       每当用户在终端中输入一条命令,shell 会立即将其 "翻译" 成操作系统可以理解的指令


       终端 是一个提供命令输入和输出环境的程序,可以把它看作是一个窗口,让用户可以看到系统的反馈

       而 shell 则是这个窗口中的工具,帮助用户向操作系统发出指令


       #!/bin/bash 是脚本的头文件声明,指定使用 bash 解释器来执行后续的脚本代码



       前台运行 Shell 脚本

               1.通过 bash 解释器来执行

                       bash demo.sh


                       注                        

                       显示文件的最后 3 行

                               tail -n 3 time.txt


              2.直接运行脚本

                       ./demo.sh


                       注

                       添加执行权限

                               chmod u+x demo.sh


       后台运行 Shell 脚本

               1. &符号 表示在后台运行, 关闭终端后, 会结束进程

                       bash demo.sh &


                       注

                       ps -f 显示当前终端会话中运行的进程的详细信息

                               ps[process status 进程状态]

                               -f[full format 完整格式] 表示以完整格式显示进程信息


                       #终止一个正在运行的进程

                       kill 3244


               2. nohup(no hang up 不挂断) 关闭终端后, 进程仍然能够在后台运行

                       nohup bash demo.sh &


                       注

                       ps -ef 显示系统中所有正在运行的进程的详细信息

                       ps -ef | grep demo.sh 显示系统中所有包含 demo.sh 的进程的详细信息

                               -e[every 每个] 表示显示所有进程, 包括其他用户的进程

                               | 管道符号 将前一个命令的 "输出" 作为后一个命令的 "输入"

                               grep demo.sh 会在ps -ef命令的 "输出" 中查找包含demo.sh的进程信息