我有一个要求,即在运行时使用函数名称调用函数或使用shell脚本传递参数。 我的功能是
PID=ps -ef | grep jmeter|grep -v grep
stop(){
echo "started killing the process\n"$PID""
kill $PID
}
我在脚本中有其他功能来启动脚本等。现在,如果需要,我想调用stop()函数。所以,我想在运行时这样做。 如果有人知道,请告诉我。提前致谢。
答案 0 :(得分:0)
我会这样做:创建脚本>创建别名>随时打电话给它!
创建stp脚本
#!/bin/sh
read -p "Are you sure? Do you want to stop $1 process? y/n: " yn
if [ ${yn} = "y" ]; then
PID=`ps -ef|grep $1|grep -v 'grep'|awk '{print $2}'`
echo "Killing Process=$1, ID=${PID} . . . "
kill -9 ${PID}
fi
创建stp
别名,以便它可以用作命令(使用stp
脚本的完全限定路径)
$ echo "alias stp=/home/user/stp" >> ~/.bash_profile
$ source ~/.bash_profile
$ sleep 4000 &
[1] 11092
运行stp
命令将进程名称作为参数传递,如下所示
测试:
$ stp sleep
Are you sure? Do you want to stop sleep process? y/n: y
Killing Process=sleep, ID=11092 . . .
[1]+ Killed sleep 4000
Killed