我需要编写一个shell脚本。其本质归结为驱动程序模块的循环加载,如果应用程序在三秒内没有崩溃,则启动一个测试应用程序,停止它然后卸载驱动程序。到目前为止,我已经写了以下内容:
#!/bin/sh
for((i=0; i<200; i++))
do
insmod /lib/modules/4.4.111.1/extra/ump.ko
insmod /lib/modules/4.4.111.1/extra/mali.ko
cd /opt/mali/cube
./cube &> log &
sleep 3
kill pid
rmmod mali
rmmod ump
done
据我了解,您需要使用 kill 命令,但是如何将进程 ID 传递给它?嗯,即 您需要通过进程名称“抓取”作业 -l,但 grep 将返回一个字符串,而不是一个数字。
正如 0andriy 在上面的评论中所写,在启动进程后,它的 PID 可以从 $! 复制到一个变量中。