https://www.jianshu.com/p/f16ed4c79739
nohup ./lnd cp -d oss://CP2018091204136/H101SC20070420/KY_kehu_JK/X101SC20070420-ZSC20070420-Z01-J001/2.cleandata ../ &
md5sum -c 校检码文件
nohup prefetch --option-file SRR_Acc_List.txt &
#关闭终端后再进入,怎么后台找不到?
(rna) [zhaong@cluster ~]$ ps ux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
1029 791 1.4 0.0 21852 3648 ? S Jun17 10:02 prefetch --option-file SRR_Acc_List.txt
1029 1463 0.0 0.0 99976 1800 ? S 09:26 0:00 sshd: zhangyong@pts/2
1029 1464 0.0 0.0 110664 2140 pts/2 Ss 09:26 0:00 -bash
1029 2727 0.0 0.0 99980 1900 ? S 09:28 0:00 sshd: zhangyong@notty
1029 2728 0.0 0.0 57300 2396 ? Ss 09:28 0:00 /usr/libexec/openssh/sftp-server
1029 3476 0.0 0.0 110220 1116 pts/2 R+ 09:32 0:00 ps ux
1029 19766 1.4 0.0 21880 3348 ? S 09:07 0:21 prefetch --option-file List.txt
$ wget -i filename.txt
此命令常用于批量下载的情形,把所有需要下载文件的地址放到 filename.txt 中,然后 wget 就会自动为你下载所有文件了。
$ wget -c http://example.com/really-big-file.iso
这里所指定的 -c 选项的作用为断点续传。
实践证明,wget下载sra数据是有风险的!!!中间有断点的话会造成数据不完整,以防万一,一定要加上自动断点续传参数-c!
ftp='ftp://ftp.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByRun/sra/SRR'
mkdir sra # make a output directory
cat SRR_Acc_List.txt | while read i
do
SRR=$(echo ${i:0:6})
wget -c -t 0 -P ./sra ${ftp}/${SRR}/${i}/*
done
参数说明:
-c 自动断点续传,一定要加!否则数据会有不完整的情况
-t 配合-c参数,设置为0表示连接失败后无限次重新尝试,直到成功为止
-P 表示把数据下载到指定文件夹下
有两种方式:
1. command & : 后台运行,你关掉终端会停止运行
2. nohup command & :后台运行,你关掉终端也会继续运行
一、 简介
Linux/Unix 区别于微软平台最大的优点就是真正的多用户,多任务。因此在任务管理上也有别具特色的管理思想。
我们知道,在 Windows 上面,我们要么让一个程序作为服务在后台一直运行,要么停止这个服务。而不能让程序在前台后台之间切换。而 Linux提供了fg和bg命令,让你轻松调度正在运行的任务。假设你发现前台运行的一个程序需要很长的时间,但是需要干其他的事情,你就可以用Ctrl-Z ,挂起这个程序,然后可以看到系统提示:
[1]+ Stopped /root/bin/rsync.sh
然后我们可以把程序调度到后台执行:(bg 后面的数字为作业号)
#bg 1
[1]+ /root/bin/rsync.sh &
用 jobs 命令查看正在运行的任务:
#jobs
[1]+ Running /root/bin/rsync.sh &
如果想把它调回到前台运行,可以用
#fg 1
/root/bin/rsync.sh
这样,你在控制台上就只能等待这个任务完成了。
& 将指令丢到后台中去执行
[ctrl]+z 將前台任务丟到后台中暂停
jobs 查看后台的工作状态
fg %jobnumber 将后台的任务拿到前台来处理
bg %jobnumber 将任务放到后台中去处理
kill 管理后台的任务
# tar -zxf httpd-2.2.17.tar.gz ## 解压 httpd 压缩包
^Z ## 按下 Ctrl+Z 组合键暂停
[1]+ Stopped tar -zxf httpd-2.2.17.tar.gz
# bg ## 输入 bg 命令,继续在后台运行
[1]+ tar -zxf httpd-2.2.17.tar.gz &
# jobs ## 查看所有的后台任务
[1]+ Done tar -zxf httpd-2.2.17.tar.gz
(rna) [zhangyong@cluster sratools]$ top -u zhangyong
top - 09:15:04 up 57 days, 5 min, 6 users, load average: 0.36, 0.24, 0.17
Tasks: 349 total, 1 running, 347 sleeping, 1 stopped, 0 zombie
Cpu(s): 2.9%us, 5.1%sy, 0.0%ni, 91.8%id, 0.1%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 66061060k total, 60165576k used, 5895484k free, 248920k buffers
Swap: 1023992k total, 1023676k used, 316k free, 57631516k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
19766 zhangyon 20 0 21880 3348 1844 S 2.0 0.0 0:06.73 prefetch
791 zhayon 20 0 21852 3648 2052 S 1.3 0.0 9:48.25 prefetch
25723 zhgyon 20 0 15176 1468 952 R 0.3 0.0 0:00.06 top
10072 zhyon 20 0 99976 1828 832 S 0.0 0.0 0:00.05 sshd
10073 zhayon 20 0 108m 2148 1456 S 0.0 0.0 0:00.18 bash
20657 zhayon 20 0 99980 1876 892 S 0.0 0.0 0:00.00 sshd
20696 zhyon 20 0 57296 2312 1680 S 0.0 0.0 0:00.06 sftp-server
成功提交该命令之后,系统给出了它的进程号7832。 对于已经在前台执行的命令,也可以重新放到后台执行,首先按ctrl+z暂停已经运行的进程,然后使用bg命令将停止的作业放到后台运行,例如对正在前台执行的tesh.sh使用ctrl+z挂起它:
$ ./test.sh
[1]+ Stopped ./test.sh
$ bg %1
[1]+ ./test.sh &
$ jobs -l
[1]+ 22794 Running ./test.sh &
任务状态
top命令与ps命令可以用于查看Linux系统运行状态,类似于windows系统的任务管理器,其中top用于动态显示,ps用于静态显示,htop是高级版的top,显示结果更加人性化。
top #press "q" to exit 查看系统运行状态
top -b # press "Ctrl +C" to exit
top -c
top -u "yourname"
htop htop查看系统运行状态
ps 静态查看系统运行
ps -fx
ps -aux
任务控制
ctrl+C :终止任务
ctrl+D :退出任务,相当于exit
ctrl+Z :暂停任务
pidof :获取进程ID
kill -9 "process number" 杀死进程
killall :杀死全部进程
后台执行
& :在语句结尾添加,表示后台运行
jobs :查看后台进程
fg :将任务放后台程序
bg :将后天任务放到前台
#fg,bg可以接数字,表示操作第几个任务
time:对任务进行计时统计
nohup:不挂起运行程序,关闭登录窗口后程序继续运行
disown:忘记使用nohup之后,将后台任务转换为nohup
定时任务
at :一次性定时任务
crontab:周期性定时任务
使用案例
#利用flye拼接nanopore测序数据
#使用time命令进行计时
echo "time flye --nano-raw SRX5299446.sra.fastq -o flye -t 24 -g 5m >flye.log 2>flye.err" >flye.sh
#运行脚本,前面加nohup,后面接&
nohup sh flye.sh &
#利用jobs查看任务
jobs
#利用top监控程序是否运行
top -u $USER