我正在尝试执行带有两个参数的shell脚本之一
问题是当我调用shell脚本时,它不会终止程序,因此我手动CTRL + C来终止程序
我尝试应用了一些修复程序,但是都无法正常工作
shell脚本
printf "start_process\n'\x03\'n" | pptslm > logFile.txt
我成功地成功传递了参数“ start_process”,但无法在外壳程序脚本中传递“ Ctrl + C或\ x03”作为参数。
答案 0 :(得分:3)
您没有将CTRL-C“管道”传递给程序,而是向进程发送信号(顺便说一句:在终端中按CTRL-C
会转换为SIGINT信号) 。执行此操作的标准工具是kill
命令。
由于您尚未提供myscript.sh
的来源,因此我在这里猜测:
#!/bin/bash
# create child process
pptslm >logFile.txt &
_pid=$!
echo "child PID ${_pid}"
# wait for 2 seconds
sleep 2
# kill child process using SIGINT
echo "Killing child PID ${_pid}"
kill -INT ${_pid}
exit 0