Whew!! My 5th linux util post...
1) Assuming you have SLURM basics, (well, I am just a beginner, so posting this very simple solution for the problem I faced), to force salloc to release the job allocation, find the process of that command using
b) kill -9 $pid
Or, If you have both salloc and srun in a single command,
c) kill -s HUP $pid
To see the signal identification for all the signals, use
man 7 signal
Just 'man signal' will take you to the C programming API for signaling.
2) Here is a simple way to find the number of words in each line of a file using awk:
awk '$0="line"NR": "NF' filename
Guess I got this tip again from SO, but this solution was not the accepted one.
3) If you pick only few lines output from make command to selectively fix the errors or warnings, (assuming you are in bash shell):
make -f Makefile clean; make -f Makefile 2 > &1 |grep 'error'
4) To identify the shell you are working on currently:
ps -p $$
From what I understand from the man pages, the -p option looks for pid list and $$ get the first process which is the shell itself. This prints the pid of the shell, terminal id etc. If you would rather want a concise output, then type:
echo $0
This was important to me change between bash and tcsh frequently when working on HPC machines of PNNL. The default login shell was tcsh, but I had do compilation and execution on bash. Most importantly, echo $SHELL did not help.
1) Assuming you have SLURM basics, (well, I am just a beginner, so posting this very simple solution for the problem I faced), to force salloc to release the job allocation, find the process of that command using
a) ps ax|grep $your_name|grep salloc
If you have reserved resources by separate salloc command (without invoking the job using srun), thenb) kill -9 $pid
Or, If you have both salloc and srun in a single command,
c) kill -s HUP $pid
To see the signal identification for all the signals, use
man 7 signal
Just 'man signal' will take you to the C programming API for signaling.
2) Here is a simple way to find the number of words in each line of a file using awk:
awk '$0="line"NR": "NF' filename
Guess I got this tip again from SO, but this solution was not the accepted one.
3) If you pick only few lines output from make command to selectively fix the errors or warnings, (assuming you are in bash shell):
make -f Makefile clean; make -f Makefile 2 > &1 |grep 'error'
4) To identify the shell you are working on currently:
ps -p $$
From what I understand from the man pages, the -p option looks for pid list and $$ get the first process which is the shell itself. This prints the pid of the shell, terminal id etc. If you would rather want a concise output, then type:
echo $0
This was important to me change between bash and tcsh frequently when working on HPC machines of PNNL. The default login shell was tcsh, but I had do compilation and execution on bash. Most importantly, echo $SHELL did not help.