我对 shell 脚本完全是菜鸟。我正在创建一个.sh
包含多个命令的文件,但我的问题是最后一个命令是一个可执行文件,执行后保持打开状态,进程在终端中继续运行,直到我关闭终端或按Ctrl+C或\。我想终止这些进程或退出终端,这也会在运行文件时自动终止进程.sh
。这是到目前为止的脚本:
#!/usr/bin/env bash
cd ./var/www/testGraduationProject1/public/Hume2Compiler/bin/
export PATH=$PATH:`pwd`
humec -lotsaspace tails.hume;
./tails > hello.txt
我尝试过这两个命令,但它们只是停止终端中进程的加载,而不会关闭终端或进程本身。
killall tails
stty -a | grep inter
答案1
您的问题很模糊,但我想您问的是,如何让tails
命令运行否秒然后杀死它?
如果是,请使用timeout
命令(12.04 中默认安装)。
这是您使用的脚本timeout
(我删除了一些冗余代码)。它运行tails
10 分钟(600 秒),然后使用 TERM 信号将其终止。
#!/usr/bin/env bash
PATH=$PATH:$PWD/var/www/testGraduationProject1/public/Hume2Compiler/bin
humec -lotsaspace tails.hume
timeout 600 tails > hello.txt
答案2
尝试这个:
将此行明确地放在背景中:
./tails > hello.txt&
然后加
pkill tails