I am making bash script for my use.
How can i run a command for certain time, like 20 second and terminate command?
I tried a lot of solutions from internet but nothing works, I also tried timeout command with no success. Please give me some solution for this.
Thanks in advance
Update
for example: I want to run this command in script and terminal after 10 sec
some command
Here are some bash scripts and a program called timelimit which may solve your problem.
Kill process after it's been allowed to run for some time
EDIT: I think I found a better solution. Try using the timeout program. From the man page:
"timeout - run a command with a time limit". For example:
timeout 5s sleep 10s
It basically runs your command and after the specified duration it will kill it.
On systems that do not provide timeout
command, you can use the following:
your-cmd & sleep 30 ; kill $!
That will run potentially long running your-cmd
with timeout of 30 seconds.
If your-cmd
does not finish within 30 seconds, it will be sent TERM
signal.
Are you looking to schedule the execution of the script? Then cron is your friend.
Use sleep and && operand:
sleep [time in seconds] && your-command
Example:
sleep 7 && echo 'Hello world!'