引子
解决 CentOS 7 下 Git 超时后,发现库还是太大,要花费比拟长的工夫,还是让其在后盾运行比拟好,这样不必始终放弃登录。找了下材料,总结一下。
- Origin
- My GitHub
相干知识点
Shell
Shell 是一种命令语言,也是一种程序设计语言。它是用户应用 Linux 的桥梁。Shell 脚本,是一种为 Shell 编写的脚本程序。Shell 脚本编程跟 JavaScript 一样,只有有一个能写代码的文本编辑器和一个能解释执行的脚本解释器就能够了。Linux 的 Shell 品种很多,常见的有:
- Bourne Shell(/usr/bin/sh 或 /bin/sh)
- Bourne Again Shell(/bin/bash)
- C Shell(/usr/bin/csh)
- K Shell(/usr/bin/ksh)
- Shell for Root(/sbin/sh)
Linux nohup 命令
nohup 全称是 no hang up
,也就是不挂起的意思,用于在零碎后盾不挂断地运行命令,退出终端也不会影响程序的运行。
nohup 命令,在默认状况下(非重定向时),会输入一个名叫 nohup.out
的文件到当前目录下,如果当前目录的 nohup.out
文件不可写,输入重定向到 $HOME/nohup.out
文件中。
语法格局:
nohup Command [Arg…] [&]
- Command:要执行的命令。
- Arg:参数,能够指定输入文件。
- &:让命令后盾执行。
更多内容见这里。
实现形式
写一个脚本,而后让其后盾运行。
git.sh
脚本内容很简略:
echo 'git clone start'
git clone https://github.com/XXx/xxx.git
echo 'git clone end'
在非可视化终端操作程序:
# 创立文件
> git.sh
# 编辑文件
vim git.sh
# 执行脚本
nohup ./git.sh &
执行的时候呈现了提醒:
nohup: 无奈运行命令 ”./git.sh”: 权限不够
增加权限:
chmod +x ./git.sh
再次执行脚本后,呈现上面的提醒:
留神这个时候,须要按任意键退回到 shell 输出命令窗口,退出的时候应用 exit
命令退出。
如果上述程序执行实现,会在 nohup.out
文件中写入脚本中对应的提示信息。
查看
查看正在执行的后台任务:
jobs -l
能够发现,跟执行脚本胜利后呈现的数字提醒统一。
jobs
命令只对以后终端无效,敞开或退出终端后,在另一个终端 jobs
命令无奈看到后盾运行的程序,此时能够应用 ps
命令:
ps -aux|grep git.sh
如果想要敞开对应过程:
kill -9 过程号
参考资料
- nohup 和 & 后盾运行,过程查看及终止
- Linux 命令大全