Надеюсь, у вас отличный день и жаль, что я не знал, как писать это было так, что все могли понять, за что я застрял.BASH: найдите fileX [1-20] в каталоге Y и посмотрите, если fileX [1-20] .pid существует
До сих пор я сделал этот код (Баш/Linux):
RESEARCH=`find $DIRECTORY_NAME -type f -name "$PROGRAM_NAME[1-9]" -perm -ugo=x`
while [ #That's where I'm stuck (see below for explanation) ]
do
if [ #$PROGRAM_NAME[X] don't have an existing pid file ($PROGRAM_NAME[X].pid) ]
then
echo "Starting $PROGRAM_NAME[X]..."
./$PROGRAM_NAME[X]
echo "$PROGRAM_NAME[x] started successfully!"
else
if [ #Number of $PROGRAM_NAME < 9]
then
echo "Compilation of $NEW_PROGRAM[X]..."
gcc -Wall tp3.c -o $DIRECTORY_NAME/$NEW_PROGRAM[X]
echo "$NEW_PROGRAM[X] compiled with success!"
echo
echo "Starting $NEW_PROGRAM..."
./$NEW_PROGRAM[X]
echo "$NEW_PROGRAM[X] started successfully!"
else
echo "The number of process running is at its limit."
fi
fi
done
Я думаю, что это легко, но я не знаю, как это сделать ... Что я хочу, чтобы проверить, каждый $ PROGRAM_NAME [X] (где X CAN варьируется от 1 до 9) имеет связанный файл PID. Если нет, запустите $ PROGRAM_NAME [X].
Так, чтобы сделать это, я думаю, что я должен иметь прогиб, как Y время (где Y представляет собой число $ program_name [X] в directory_name) и проверить их один за другим ...
Для Exemple, если я сделать LS $ directory_name, это было бы так:
prog1
prog1.pid
prog2
prog2.pid
prog3
prog4
prog4.pid
Так что я хотел бы начать проги 3, а не создавать prog5, так как не все элемента есть существующий файл PID.
Может ли кто-нибудь объяснить мне больше о состоянии времени?
Спасибо, это работает! –