今天在linux上部署wdt程序,在SSH客户端执行./start-dishi.sh,启动成功,在关闭SSH客户端后,运行的程序也同时终止了,怎样才能保证在推出SSH客户端后程序能一直执行呢?通过网上查找资料,发现需要使用nohup命令。
完美解决方案:nohup ./start-dishi.sh >output 2>&1 &
现对上面的命令进行下解释
用途:不挂断地运行命令。
语法:nohup Command [ Arg ... ] [ & ]
描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。
操作系统中有三个常用的流:
0:标准输入流 stdin
1:标准输出流 stdout
2:标准错误流 stderr
0:标准输入流 stdin
1:标准输出流 stdout
2:标准错误流 stderr
一般当我们用 > console.txt,实际是 1>console.txt的省略用法;< console.txt ,实际是 0 < console.txt的省略用法。
下面步入正题:
>nohup ./start-dishi.sh >output 2>&1 &
解释:
1. 带&的命令行,即使terminal(终端)关闭,或者电脑死机程序依然运行(前提是你把程序递交到服务器上);
1. 带&的命令行,即使terminal(终端)关闭,或者电脑死机程序依然运行(前提是你把程序递交到服务器上);
2. 2>&1的意思
这个意思是把标准错误(2)重定向到标准输出中(1),而标准输出又导入文件output里面,所以结果是标准错误和标准输出都导入文件output里面了。 至于为什么需要将标准错误重定向到标准输出的原因,那就归结为标准错误没有缓冲区,而stdout有。这就会导致 >output 2>output 文件output被两次打开,而stdout和stderr将会竞争覆盖,这肯定不是我门想要的.
这就是为什么有人会写成: nohup ./command.sh >output 2>output出错的原因了
==================================================================================
最后谈一下/dev/null文件的作用,这是一个无底洞,任何东西都可以定向到这里,但是却无法打开。 所以一般很大的stdou和stderr当你不关心的时候可以利用stdout和stderr定向到这里>./command.sh >/dev/null 2>&1
相关推荐
在Linux环境下,我们经常会使用`nohup`命令来运行一些长时间运行的任务,这些任务会将输出重定向到`nohup.out`文件中。随着运行时间的增长,这个文件可能会变得非常大,不仅占用大量磁盘空间,还可能影响系统的性能...
这里,`command`是你想要运行的命令,`myout.file`是你指定的输出文件。`2>&1`表示将标准错误输出(2)重定向到标准输出(1)的同一位置,即`myout.file`。 **其他相关知识点** 1. `&`符号:直接在命令后面加上`&`...
需要注意的是,使用`nohup`命令时,程序的输出会被重定向到`nohup.out`文件,除非你像上面那样显式地改变了输出目的地。如果仍然希望使用`nohup.out`,可以修改命令为: ```bash nohup python -u flush.py > /dev/...
本文档将介绍一系列Unix下的常用命令及其用法。 ##### 1. 系统登录与退出 - `telnet 10.3.3.242`:通过Telnet协议连接到IP地址为10.3.3.242的主机。 - `ping`:测试网络连通性。 - `exit/logout/Ctrl+d`:退出...
在Python编程中,paramiko模块是一个强大的SSHv2协议实现库,它允许开发者进行安全的远程操作,如执行命令、传输文件等。然而,在使用paramiko执行远程命令时,有时会遇到一个问题:当尝试通过`nohup`命令运行一个...
#### nohup命令简介 `nohup` 命令允许用户在后台运行进程,并防止它们在用户退出 shell 时被终止。这对于长时间运行的任务非常有用,比如下载大文件或运行耗时的脚本。 #### nohup命令格式 ```bash nohup [-p pid...
本篇文章将深入讲解Linux系统命令及其使用方法,旨在为你提供一个详尽的参考指南。 一、文件和目录操作 1. `ls`:列出目录内容,通过`-l`参数可以以详细模式显示,`-a`则会显示隐藏文件。 2. `cd`:改变当前工作...
-name "file*"` 可以搜索当前目录及其子目录下的文件名以 "file" 开头的文件。 7. grep 命令 grep 命令用于搜索文件中的文本。可以根据正则表达式来搜索文件中的文本。例如,使用 `grep "keyword" file` 可以搜索...
6. **进程操作**:`ps`显示当前进程状态,`top`实时监控系统进程,`kill`发送信号给进程,`pkill`根据名称发送信号,`nohup`让命令在后台运行不受终端影响。 7. **网络操作**:`ifconfig`配置网络接口,`route`管理...
4. `nohup`:在后台运行命令并忽略挂断信号。 六、系统信息与性能监控 1. `uname`:显示系统信息。 2. `df`:查看磁盘空间使用情况。 3. `free`:显示内存使用情况。 4. `vmstat`/`iostat`/`mpstat`:系统资源统计...
- **nohup命令的输出文件**:默认情况下,nohup命令会将输出重定向到`nohup.out`文件中。 #### 四、通配符 ##### 4.1 使用`*` - **单个星号(*)**:匹配任意数量的任意字符,包括空字符串。 ##### 4.2 使用`?` -...
9. **查找命令**:`which` 查找命令的路径,`whereis` 找到程序及其相关文件,`find` 在指定目录下搜索文件。 10. **管道与重定向**:Unix的强大力量在于管道(`|`)和重定向(`>`、`)。管道可以连接命令,将一个...
以上是根据提供的文件内容总结出的 SUSE Linux 常用命令及其相关知识点,这些命令和技巧对于系统管理员来说是非常有用的工具。掌握它们可以帮助管理员更高效地管理 Linux 系统,提高系统的稳定性和安全性。
根据提供的文件信息,我们可以深入探讨Linux中的一些实用命令及其应用场景,特别是`tail`命令的相关用法。在Linux系统管理及日常运维工作中,掌握这些实用的命令对于提高工作效率、快速解决问题至关重要。 ### ...
下面将详细介绍部分常用的Linux命令及其全称解释。 #### /bin=BINaries /bin目录存放了系统管理员和普通用户经常使用的命令。这里的“BINaries”是指二进制文件(binary files),即执行文件。 #### /dev=DEVices /...
还可以将命令的输出重定向到日志文件,如`command > log.txt 2>&1`,这样错误信息和标准输出都会被记录。 总之,熟练运用这些Linux备份和压缩命令,能够有效地管理文件,节省存储空间,并确保数据安全。在实际操作...
以下是一些常见的Linux命令及其用途的详细解释: 1. **历史命令**:通过按向上箭头键,您可以快速访问最近执行过的命令,这对于重复使用相同的命令非常方便。 2. **网络状态检查**:`netstat -na | grep 7001`命令...
### UNIX系统常用命令详解 #### 一、基本交互与控制命令 **Ctrl+d**: 此命令用于退出当前Shell,返回到上一层...以上就是UNIX系统中一些常用的命令及其使用方法,通过这些命令可以实现对UNIX系统的高效管理和操作。
本文将详细介绍一些常见的Unix命令及其使用方法。 首先,我们来看`ls`命令。`ls xxx 1>aaa 2>&1 2>`这部分说明了如何重定向输出。`1>aaa`表示将标准输出重定向到文件`aaa`,而`2>&1`意味着将错误输出也重定向到同一...