目录命名为班级加姓名的格式,如 1banz3
参考代码:
mkdir 1banz3
# 切到 1banz3 目录:
cd 1banz3
新建 test.sh
脚本,输入以下代码:
#!/bin/bash
int=1
while [ $int -le 10 ]
do
echo $int
int=$[$int+1]
sleep 1s
done
其中,while循环的条件是变量 int<=10 ,每次循环都打出变量int的值,然后int的值增加1,随后程序等待1秒,等待结束后再进入下次循环。
解释运行脚本,脚本名称后加上 &
参数使程序在后台运行(而非采取默认的前台运行方式):
bash test.sh &
程序运行后,每打印一个数字,都会暂停一秒。因此,打印10个数字总共暂停了10次,程序一共用时10秒种。类似的,打印 x 个数字,每次暂停 y 秒,则用时 x×y 秒 。
可以使用 jobs
命令查看后台运行的进程。-l
选项表示列出进程ID,-s
选项表示查看后台已暂停的任务,-r
选项表示查看处于运行状态的任务。
使用fg命令将后台暂停的任务恢复到前台运行,不带参数的情况下,会恢复带有"+"标志的任务,也可以使用参数指定任务ID。
使用bg命令可以让后台暂停的任务继续在后台执行,类似fg操作,不带参数的情况下bg默认恢复带有"+"标志的任务,也可以使用参数指定任务ID。
例如, vi a.sh &
命令会启动vi程序,并在后台运行,通过 jobs
命令可以看到此任务处于挂起(suspend)状态:
运行fg命令,带有+号的任务会恢复到前台运行,恢复后可以照常使用vi文本编辑程序。
新建 work.sh
脚本,输入以下代码:
#!/bin/bash
for((i=1;i<=10;i++))
do
echo $i
sleep 1s
done
find /usr/ -name lib > findresult.txt
其中,每次循环都会打出变量i的值,然后暂停一秒钟,一共循环10次。
解释运行脚本,按 Ctrl Z
中止(暂停)该进程并放入后台,然后用job命令查看后台的任务。
使用fg命令将后台暂停的任务恢复到前台运行。
再次按 Ctrl Z
中止该进程并放入后台。
使用bg命令让后台暂停的任务继续在后台运行。
ps
和 top
命令可以查看系统进程及相关信息
使用 ps
命令可以用 -l
选项查看进程的详细信息, -u
选项查看进程对应的用户。
解释运行 work.sh
脚本文件,在运行过程中按 CTRL Z
将此任务放入后台:
使用 ps
命令查看执行work.sh任务的进程ID:
# -aux 选项表示查看所有详细信息
ps -aux | grep "work.sh"
# -ef 选项表示查看全格式信息
ps -ef | grep "work.sh"
使用ps命令查看work.sh任务,可以看到对应的进程PID是86。(此处按实际运行结果,查看到进程PID有多种可能,注意根据查看到的PID修改命令中对应的PID)
top -b -n 10 -p 86 > worklog.txt &
# 注意修改进程PID,这个例子中是86,自己用命令的时候要改成上一步看到的PID
执行top命令,并使其在后台运行,可以通过 jobs
命令看到多出了一条新的任务记录,显然是top命令对应的任务:
使用 fg
命令恢复带“+”号的work.sh任务至前台,运行完毕后,top任务也会随之运行完毕。
可以用 cat
命令查看worklog.txt中top命令的监听结果:
cat worklog.txt
执行结果如下:(仅截图部分内容)
使用 kill
命令可以终止进程, -l
选项表示列出全部信号名称。kill命令实际上是向进程发送信号,信号有很多种,对应多种用途。若不指定信号参数,将发送 SIGTERM(15)
终止指定进程。
kill命令可以使用 -KILL
选项强制结束进程,对应的信号为 SIGKILL(9)
。
首先,(1)使用yum安装httpd
sudo yum install httpd
(2)启动httpd服务
systemctl start httpd
(3)查看httpd相关进程
ps -aux | grep "httpd" | grep -v "grep"
# 也可以使用pstree命令查看树状图形式的进程关系
pstree -p | grep "httpd" | grep -v "grep"
(4)使用kill命令终止httpd的一个子进程(668号进程)
kill 668
(5)重启httpd的主进程(注意参数是阿拉伯数字1)
kill -1 663
(6)使用 killall
命令杀死httpd进程
killall httpd
再次查看httpd的相关进程,结果为空:
也可以使用 pkill
命令终止进程
首先,(1)用vi打开 work.sh
脚本,加上&参数使任务在后台运行
vi work.sh &
(2)使用ps命令查看有关进程
ps -aux | grep "work.sh" | grep -v "grep"
(3)使用pkill命令强制关闭进程
pkill -9 vi
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有