如何使用 CTRL + D / CTRL + Z 和 saome 组合键

How to use CTRL + D / CTRL + Z and saome key combinations

我想在 Bash 脚本中使用组合键 像启动任何服务器后,如 PHP 脚本将在一段时间后自动停止该服务器..

例如:Php.sh

php -S 127.0.0.1:4444 -t /home/username/Desktop/PHP/ 
sleep 20 
CTRL + C or CTRL + Z

你能帮帮我吗..?

这里的一般解决方案是使用 shell 作业控制和复制按键的信号。 php 运行s 在前台,所以你像这样启动它以便 运行 它在后台:

php -S 127.0.0.1:4444 -t /home/username/Desktop/PHP/ &
pid=$!

赋值在变量中捕获 php 的进程 ID,以便稍后使用。

然后您可以使用脚本的其余部分:

sleep 20

然后如果你想终止它你可以这样做:

kill $pid

如果你想暂停它,你可以这样做:

kill -STOP $pid

如果你想在 20 秒后杀死它,这看起来像这样:

php -S 127.0.0.1:4444 -t /home/username/Desktop/PHP/ &
pid=$!
sleep 20
kill $pid
wait

等待暂停脚本,直到 killphp 进程生效。

我得到了另一种在 bash 脚本中使用组合键的方法.. 这里需要一个名为 xdotool

的工具
sudo apt install xdotool -y

然后您可以使用 bash 文件中的组合键

现在考虑上面的示例文件就像

php -S 127.0.0.1:4444 -t /home/username/Desktop/PHP/
sleep 20 
xdotool key ctrl+C