+1 для ответа abc, потому что я нахожу его хорошее sed выражение.
Однако Regis не хочет два файла, он хочет вставить текст в свой файл; таким образом, я адаптировал ответ abc:
hmontoliu@ulises:/tmp$ cat > f1
one
^C
hmontoliu@ulises:/tmp$ sed -i '1 s/^/foobar\n/' f1
hmontoliu@ulises:/tmp$ cat f1
foobar
one
Вы, возможно, должны изменить некоторые вещи как grep критерии и порог ЦП, но здесь он идет:
#!/bin/bash
cd $RUN_DIR
nohup ./CloudServer >& /dev/null &
PID=`ps aux |grep $RUN_DIR/CloudServer|grep -v grep| head -n 1 |awk '{print $2}'`
while [ `top -n 1 -b -p $PID | grep $PID |awk '{print $9"/1"}' |bc` -gt 1 ]
do
sleep 2
echo Server still starting up ...
done
echo Server is now Idle
nohup ./CloudClient --server=localhost --username=$ROBOT1_NAME --robot >& /dev/null &
nohup ./CloudClient --server=localhost --username=$ROBOT2_NAME --robot >& /dev/null &
Можно изменить время сна, при необходимости также.