Hey everybody. I'm trying to cluster set of sequences by cd-hit. I'm using cd-hit on linux by the way. I'm wondering how can I know the progress of my job while I've sent my job to background. Is there any log file?? Can anyone help me with that?? Thanks.
I suggest you run your job in the background, redirect all of its outputs (both stdout
and stderr
) into a file, and use tail -f
to monitor the output. Like so:
cd-hit -i ../TP_MP_Project/Mesophiles_final.fasta -o ../TP_MP_Project/Output -c 0.4 -n 2 -M 16000 -T 8 >& log &
Then
tail -f log
If you use a different shell from tcsh
your redirection may be different from >&
, but either way it needs to end with &
like any background job.
I would not send jobs to background. Rather use GNU screen
to start jobs in it and capture the stderr
in a file like ./your.script (...) 2> stderr.log
.
Would you please help me with GNU screen?
I have no idea how to use it. I use cd-hit -i ../TP_MP_Project/Mesophiles_final.fasta -o ../TP_MP_Project/Output -c 0.4 -n 2 -M 16000 -T 8
command to start my job
Please google it (and run man screen
), it's really simple to use. Run screen
to start a screen session. You can now run commands within this session and the screen can itself be "detached", which is sort of like sending a task to a background but much better. You can press Ctrl-a
then d
to detach the session and screen -r
to re-attach a detached session.
I'd recommend using screen -S custom_name
so that when you run multiple screen sessions, the names will tell you what what each session is for. To list all running screen sessions, use screen -ls
.