다음 명령을 실행하고 있습니다.
nohup ./run_hyper_param_tuning.sh> ../../logs/hyper_model_15_b_Jan.txt 2>&1 & echo $! >save_pid.txt
작동 중이었는데 갑자기 작동이 멈췄습니다. 스크립트는 다음과 같습니다.
#!/bin/bash
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
#added by Anaconda3 installer
export PATH="/home/javier/anaconda3/envs/AIenv/bin:$PATH"
#export PATH="/home/javier/anaconda3/bin:$PATH"
#source /home/javier/anaconda3/bin/activate AIenv
echo "STARTING HYPER-PARAMETER TUNING..."
backbones=("resnet101")
gradient_clip_norms=(10)
learning_rates=(0.001)
weight_decays=(0.0005)
layers=('heads')
for i in "${backbones[@]}"
do
for j in "${gradient_clip_norms[@]}"
do
for k in "${learning_rates[@]}"
do
for l in "${weight_decays[@]}"
do
for m in "${layers[@]}"
do
echo "-----------------------------------------------------------------------------------"
echo "backbone:" $i " gradient_clip_norms:" $j " learning_rate:" $k " weight_decays:" $l "layers:" $m
echo "-----------------------------------------------------------------------------------"
python3 custom.py train --dataset=customImages/ --weights=coco --backbone=$i --grad_clip_norms=$j --learn_rate=$k --weight_decays=$l --layers=$m --epochs=100
echo "successfully done"
done
done
done
done
done
출력을 리디렉션하는 파일에는 다음 메시지가 있습니다.
[1]+ Exit 125 nohup ./run_hyper_param_tuning.sh > ../../logs/hyper_model_15_b_Jan.txt 2>&1
그러나 cat으로 콘텐츠를 다시 표시하면 파일이 비어 있습니다.
이 문제를 어떻게 해결할 수 있나요?
답변1
(GNU) 문서에 따르면 nohup
이 nohup
자체는 실패합니다.
-bash-4.2$ man nohup | grep 125
-bash-4.2$ info nohup | grep 125
info: Writing node (coreutils.info.gz)nohup invocation...
info: Done.
125 if 'nohup' itself fails, and 'POSIXLY_CORRECT' is not set
instead of 125.
시도해 strace
보고 nohup
실패했는지 확인해 볼까요?