之前总结过screen的用法,但还可以用nohup命令。
nohup工具:
Linux系统中有提供一个很好的不挂断地运行命令——nohup。我们使用nohup能很简单的控制使用,在此就简单的介绍一下nohup工具。
nohup 命令
nohup就是不挂起的意思( no hang up)。
用途:不挂断地运行命令。
在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行。
例如:
nohup /root/start.sh &
使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示”and”的符号)到命令的尾部。无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符。
当shell中提示了nohup成功后还需要按终端上键盘任意键退回到shell输入命令窗口,然后通过在shell中输入exit来退出终端。
【注意】:在nohup执行成功后千万不要直接点关闭程序按钮关闭终端。因为这时候会断掉该命令所对应的session,导致nohup对应的进程被通知需要一起shutdown。
使用nohup命令提交作业:
如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:
nohup command > myout.file 2>&1 &
在上面的例子中,输出被重定向到myout.file文件中。
然后:
tail -f myout.file
解释:
1. 带&的命令行,即使terminal(终端)关闭,或者电脑死机程序依然运行(前提是你把程序递交到服务器上);
2. 2>&1的意思
这个意思是把标准错误(2)重定向到标准输出中(1),而标准输出又导入文件output里面,所以结果是标准错误和标准输出都导入文件output里面了。 至于为什么需要将标准错误重定向到标准输出的原因,那就归结为标准错误没有缓冲区,而stdout有。这就会导致 >output 2>output 文件output被两次打开,而stdout和stderr将会竞争覆盖,这肯定不是我门想要的.
远程运行:
查看运行的后台进程
jobs 只能查看当前窗口的后台进程,如果关闭了后台执行脚本的窗口,该命令失效,这个时候就只能用到下面的命令查看
ps -ef 可以查看主机所有运行的进程 ps -ef | grep 过滤条件
可以使用下面命令实时监测训练的情况:
Tmux:
以前简单总结过screen的使用方法。Tmux 与它功能相似,但是更易用,也更强大。
无root权限安装tmux:(坑好多。。。。)
1.先安装libevent库,去官网下载对应的库文件,然后解压,切换到当前目录:
$ cd libevent-2.1.11-stable
2、./configure --prefix=/home/wangnan/software/libevent
此时会报错:
linux下运行一个文件时 提示权限不够,说明这个文件没有可执行权限
我们可以在属性里面手动为这个文件加上可执行权限也可以使用命令的方式。
命令方式:
例如: bash: ./configure: 权限不够
给文件加上可执行权限: chmod +x configure
3、编译&&编译安装
$ make && make install
报错:
。。。。。。
一般管理员如果安装了这个,在这台服务器下的用户应该就能正常使用了。
参考:
linux的nohup命令的用法。 - Avatarx - 博客园www.cnblogs.comLinux下nohup命令使用简述_Linux教程_Linux公社-Linux系统门户网站www.linuxidc.comTmux 使用教程 - 阮一峰的网络日志www.ruanyifeng.comhttps://blog.csdn.net/holmes_MX/article/details/82664667blog.csdn.netUbuntu 无Root权限 安装Tmux:
Ubuntu 无Root权限 安装Tmuxwww.jianshu.com无root权限安装tmux - 阳阳1 - 博客园www.cnblogs.com