2016-06-29 2 views
0

У меня есть требование, которое должно вызывать функцию во время выполнения с именем функции или передачей параметров с использованием сценария оболочки. Моя функцияВызов функции во время выполнения с использованием сценариев оболочки

PID=ps -ef | grep jmeter|grep -v grep 
stop(){ 
echo "started killing the process\n"$PID"" 
kill $PID 
} 

У меня есть другие функции в сценарии для запуска скрипта и т.д. Теперь я хочу, чтобы вызвать функцию остановки(), если только это необходимо. Итак, я хочу сделать это во время выполнения. Скажите, пожалуйста, если кто-нибудь это знает. Заранее спасибо.

+2

Это может быть неважно, но ваш способ получить PID не так. –

+1

Не могли бы вы объяснить, что вы подразумеваете под «вызовом функции во время выполнения»? – Fazlin

+0

@soFan. я исправил команду PID, пожалуйста, проверьте ее один раз. – krish

ответ

0

Здесь я бы сделал это: создать скрипт> создать псевдоним> вызвать его в любое время!

  1. Создать 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 
    
  2. Сделать stp псевдоним, так что можно использовать в качестве команды (используйте полный путь к stp сценарию)

    $ echo "alias stp=/home/user/stp" >> ~/.bash_profile 
    $ source ~/.bash_profile 
    $ sleep 4000 & 
    [1] 11092 
    
  3. запустить процесс, проходящий stp команду name как аргумент ниже Испытание:

    $ 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 
    
+0

Я сделал то же самое вчера. я получил результат. Спасибо – krish

+0

отлично ... если это было решение, отметьте как ответ - Спасибо –

+0

Сделано. спасибо – krish

Смежные вопросы