在给定的时间范围内终止应用程序,b脚本

在给定的时间范围内终止应用程序,b脚本

我是 bash 新手,我正在尝试这样做,下面是伪代码:

id= "pidof rhytmbox" (rhytmbox changes pid everytime i start it)

echo "Input time: "
read time

sleep $time
kill $pid

你能帮助我吗?

答案1

pid=$(pidof rhythmbox)
echo $pid

echo "Enter time: "
read time
sleep $time
kill $pid

这个成功了!

答案2

如果您打算在时间限制内运行命令,则可以使用超时:

#!/bin/bash

read -r -p \
    "Input time in minutes: " duration

[[ ! $duration =~ [^0-9] ]] && \
    timeout ${duration}m setsid rhytmbox &>/dev/null &

read有一个提示选项,在尝试读取输入之前显示。您可以使用正则表达式语句来确保用户输入仅包含数字。现在,我通常想把长期运行如果我关闭终端,应用程序将在后台运行,您可以使用setsid命令完成此操作&

答案3

我会提供一些提示。

Bash 有一些方法可以将命令的输出分配给变量。

pid=$(pidof top)
pid=`pidof top` 

至于其他方面,你基本上走在正确的轨道上。你应该验证用户确实输入了一个整数,而不是诸如 之类的其他文本half an hour

相关内容