Я столкнулся с странным сценарием, который меня колотит.При запуске скрипта в фоновом режиме я получаю два процесса:
У меня есть сценарий, который я запускаю в фоновом режиме с &
Например:
[email protected]# some_script.sh &
После его выполнения, я пм -ef | grep some_script, и я вижу, что TWO-процессы работают там, где второй процесс продолжает получать другой PID, но это Parent - это процесс, который я начал (например, родительский процесс порождает детей, которые умирают, но это никогда не было написано в коде). пример:
[email protected]# ps -ef | grep some_script.sh
root 4696 17882 0 13:30 pts/2 00:00:00 /bin/bash ./some_script.sh
root 4778 4696 0 13:30 pts/2 00:00:00 /bin/bash ./some_script.sh
[email protected]# ps -ef | grep some_script.sh
root 4696 17882 0 13:30 pts/2 00:00:00 /bin/bash ./some_script.sh
root 4989 4696 0 13:30 pts/2 00:00:00 /bin/bash ./some_script.sh
Что здесь дает? Похоже, что он запутывает вывод и функциональность скрипта и в основном делает его бесконечным процессом (когда у меня есть определенный старт и остановка в скрипте).
сценарий: ` #!/Бен/Баш
# Set Global Variables
LOGDIR="/srv/script_logs"
OUTDIR="/srv/audits"
BUCKET_LS=$OUTDIR"/LSOUT_"$i"_"$(date +%d%b%Y)".TXT"
MYCMD1="aws s3api list-objects --bucket viddler-flvs"
MYCMD2="--starting-token"
MAX_ITEMS="--max-items 10000"
MYSTARTING_TOKEN='""'
rm tokenlog.txt flv_out.txt
while [[ $MYSTARTING_TOKEN != "null" ]]
do
# First - Get the token for the next batch
CMD_PRE="$MYCMD1 $MAX_ITEMS $MYCMD2 $MYSTARTING_TOKEN"
MYSTARTING_TOKEN=($($CMD_PRE | jq -r .NextToken))
echo $MYSTARTING_TOKEN >> tokenlog.txt
# Now - get the values of the files for the existing batch
# First - re-run the batch and get the file values we want
MYOUT2=$($CMD_PRE | (jq ".Contents[] | {Key, Size, LastModified,StorageClass }"))
echo $MYOUT2 | sed 's/[{},"]//g;s/ /\n/g;s/StorageClass://g;s/LastModified://g;s/Size://g;s/Key://g;s/^ *//g;s/ *$//g' >> flv_out.txt
#echo $STARTING_TOKEN
done
`
Как выглядит ваш скрипт? – devnull
Мне нужно будет увидеть код в some_script.sh, чтобы помочь с этим. – Donovan
Что сообщает 'jobs'? – cdarke