我看到过一些例子,但是无法将它们适应我的情况。
我有一个调用长时间运行命令的脚本,但我想定期(比如每秒钟)获取该调用的状态。例如:
#!/bin/bash
curl localhost:9200/my_index/_forcemerge?max_num_segments=2 &
while [ command is running ]; do
curl -XGET localhost:9200/_cat/shards/my_index?v&h=index,shard,prirep,segments.count
sleep 1
done
echo "finished!"
通过这种方式获取子进程的状态是否可能?
编辑:澄清我实际上正在做什么。实际上是对Elasticsearch集群执行两个curl命令。长时间运行的命令将数据段合并在一起,“状态”命令将获取当前段数。
command.sh
在后台运行多个命令还是只有一个命令?它通常需要多长时间才能完成? - Inianwhile [ command is running ]
部分还是/script/that/gets/status.sh
部分? - kamikaze