创建脚本
1.sh
bash
#!/bin/bash
# 1.sh - 从0到1亿的死循环,每秒钟写一个数字到0.tmp(覆盖写入)
# 循环从0到100000000
for ((i=0; i<=100000000; i++)); do
echo $i > 0.tmp
sleep 1
done
2.sh
bash
#!/bin/bash
#JSUB -q gpu1
#JSUB -m gpu02
#JSUB -n 1
#JSUB -o output.%J
#JSUB -e error.%J
#JSUB -J write_file_job
# 切换到当前目录并执行1.sh
cd /public/home/10201401498
bash 1.sh
创建作业
bash
-bash-4.2$ jsub < 2.sh
Job <24785> is submitted to queue <gpu1> and default application <default>
检查作业
查看作业状态
bash
-bash-4.2$ jjobs
JOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME ORDER
24785 1020140* RUN gpu1 login gpu02 *te_file_job Jul 08 17:33 -
查看作业详细信息
bash
-bash-4.2$ jjobs -l 24785
Job <24785>, Job Name <write_file_job>, User <10201401498>, Project <default>,
Status <RUN>, Queue <gpu1>, Application <default>, APS Pri
ority <5000>, Command <#!/bin/bash;#JSUB -q gpu1;#JSUB -m
gpu02;#JSUB -n 1;#JSUB -o output.%J;#JSUB -e error.%J;#JSU
B -J write_file_job;# 切换到当前目录并执行1.sh;c
d /public/home/10201401498;bash 1.sh>
Wed Jul 08 17:33:35: Submitted from host <login>, CWD </public/home/10201401498
>, OutFile File <output.24785>, Error File <error.24785>,
Specified Hosts <gpu02>, 1 Processors Requested;
Wed Jul 08 17:33:36: Started on <gpu02>, Execution Home </public/home/102014014
98>, Execution CWD </public/home/10201401498>, Execution U
ser <10201401498>;
Wed Jul 08 17:34:38: Resource usage collected.
The CPU time used is 0.02 seconds.
IDLE_RATE(cputime/slots/runtime): 0.0004
CPU(s) Utilization: 0.02%
MEM: 22 Mbytes; SWAP: 0 Bbytes
PGIDS:15200; PIDS:15200 15487 15228 15206 15229
RUNLIMIT
2880.0 min
SCHEDULING PARAMETERS:
r15s r1m r5m r15m ut pg io ls
LoadSched - - - - - - - -
LoadStop - - - - - - - -
it tmp swap mem
LoadSched - - - -
LoadStop - - - -
检查文件是否生成
查看 0.tmp 文件是否存在
bash
-bash-4.2$ ls -la 0.tmp
-rw-r--r-- 1 10201401498 jhdomainusers 4 Jul 8 17:36 0.tmp
如果文件存在,查看内容
bash
-bash-4.2$ cat 0.tmp
212
查看输出和错误日志
bash
-bash-4.2$ cat output.24785
查看错误输出
bash
-bash-4.2$ cat error.24785
实时监控作业
查看作业动态输出(如果有)
bash
-bash-4.2$ jctrl peek 24785
<< output from stdout >>
<< output from stderr >>
实时查看日志文件
bash
-bash-4.2$ tail -f output.24785 error.24785
==> output.24785 <==
==> error.24785 <==
终止作业
终止作业
bash
-bash-4.2$ jctrl kill 24785
Job <24785> is being terminated
强制终止(如果上面命令无效)
bash
jctrl kill -f 24785
确认作业已终止
查看当前作业状态
bash
-bash-4.2$ jjobs
No unfinished job found
查看所有作业(包括已完成的)
bash
-bash-4.2$ jjobs -a
JOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME ORDER
24785 1020140* EXIT gpu1 login gpu02 *te_file_job Jul 08 17:33 -
清理作业记录
清理已完成作业
bash
-bash-4.2$ jctrl clean 24785
Job <24785> is being cleaned