`

详解:nohup ./start.sh> myout.file 2>&1 & ---- 2016-06-02

阅读更多

nohup ./start.sh> myout.file 2>&1 &

上面的命令就是大家常用的,后台执行某个命令文件的命令。但是,./是什么意思,>是什么意思,

2>&1 和 & 又是什么意思你可能并不了解。下面是搜到的相关介绍:

1. nohup与&的区别:

nohup 是后台运行, & 的意思是直接返回shell的界面, 不需要等待你所输入命令结束, 所以这么使用就是(nohup)命令他后台运行, 即使ssh中断也可以运行, (&)让你在输入完这行命令后, 继续出现 '>' 让你输入其他命令

单是&, 相当于不等待直接开始接收下一个命令,你关掉终端会停止运行
nohup command &  后台运行,你关掉终端也会继续运行。

 

2. ./的意思,与sh的区别:

sh  xxx
用 sh 这个shell  (sh一般指系统默认shell,比如 bash, ksh, Csh 等都有可能) 来解释和运行 xxx 这个脚本。xxx 文件不必具有可执行属性(chmod +x)

./xxx    xxx必须具备可执行属性,如果此时的 xxx 是一个文本文件(脚本),那么按照 xxx 的第一行所指定的命令来解释和执行 xxx, 如果xxx 文件中没有指定,默认按照 /bin/sh 来解释和执行。  xxx 需要在第一行用
#!/path/to/mmm   
的方法来说明要用 mmm 命令来解释和执行 自身。
比如如果是 bash 脚本,为  #!/bin/bash
perl脚本,  #!/usr/bin/perl
python脚本,  #!/usr/bin/python

 

3. 2>&1的意义:

其实要弄清楚 2>&1 的含义,首先应当知道linux中有三种标准输入输出,分别是STDIN,STDOUT,STDERR,对应的数字是0,1,2。STDIN就是标准输入,默认从键盘读取信息;STDOUT是标准输出,默认将输出结果输出至终端,也就是显示器之类的东西;STDERR是标准的错误信息,默认也会显示在终端上。由于STDOUT与STDERR都会默认显示在终端上,为了区分二者的信息,就有了编号的0,1,2的定义,用1表示STDOUT,2表示STDERR。

下面举个例子:以rhce中的例子为例。

(1)、在系统中创建一个普通用户test;

(2)、以普通用户登录,或者以root登录 su -test 切换至普通用户test;

(3)、执行 find /etc -name passwd 命令,默认会将命令的执行结果(STDOUT)与错误信息(STDERR)都输出至终端显示器。

(4)、体验一下编号1,2的作用,find /etc -name passwd >find.out 2>find.err,这里会将STDOUT与STDERR分别存放至find.out和find.err中,该命令也可以写成下面三种形式,大家可以体会一下编号的意义。

find /etc -name passwd 1>find.out 2>find.err

find /etc -name passwd 2>find.err >find.out

find /etc -name passwd 2>find.err 1>find.out

我个人理解就是find /etc -name passwd的命令的执行结果输出正确的输出(STDOUT)被1接收,错误的信息(STDERR)被2接收。

(5)、若要将所有的输出及错误信息都显示出来,可以用&表示全部1和2的信息,例如:

find /etc -name passwd &>find.all

(6)、有时候希望将错误的信息重新定向到输出,就是将2的结果重定向至1中就有了"2>1"这样的思路,如果按照上面的写法,系统会默认将错误的信息(STDERR)2重定向到一个名字为1的文件中,而非所想的(STDOUT)中。因此需要加&进行区分。就有了 2>&1 这样的用法,举例:

find /etc -name passwd 2>&1 |less

(7)、有时候还能看到这样的用法:

find /etc -name passwd &2>&1 |less

这里可以分解成

find /etc -name passwd &    表示前面的命令放到后台执行。

2>&1 |less    表示将错误信息重定向至标准输出,并用less进行分页显示。

 

分享到:
评论

相关推荐

    mayfly-go.zip

    说明:实现 liunx shell终端,在线文件编辑查看,脚本管理执行,mysql,redis在线数据操作以及...6、linux版本需要对mayfly-go-linux 添加可执行权限chmod +x mayfly-go-linux,执行:nohup ./mayfly-go-linux & 即可

    详解linux下nohup日志输出过大问题解决方案

    例如,`nohup ./execute.sh > /home/xxx/log.log 2>&1 &`会将标准输出和标准错误都重定向到`/home/xxx/log.log`文件中,而不是默认的`nohup.out`。 针对日志文件过大问题,可以采取以下策略: 1. 定期分割日志:...

    详解nohup /dev/null 2&1 含义的使用

    nohup /mnt/Nand3/H2000G >/dev/null 2>&1 & 对 于& 1 更准确的说应该是文件描述符 1,而1 一般代表的就是STDOUT_FILENO,实际上这个操作就是一个dup2(2)调用.他标准输出到all_result ,然后复制标准输出到文件描述

    使用apache的rotatelogs命令实现WebLogic启动命令的nohup的日志回滚

    每天写一个日志: 代码如下: nohup ./startWebLogic.sh | /apache/bin/rotatelogs ./logs/nohuplog 86400 & 每200M写一个日志: 代码如下: nohup ./startWebLogic.sh | /apache/bin/rotatelogs ./logs/nohuplog 200M...

    EasyDarwin RTSP 转解码流服务平台 解压版(windows、linux)

    nohup ./ffmpeg -re -stream_loop -1 -i /opt/mp4/cb.mp4 -c copy -f rtsp rtsp://127.0.0.1:554/stream/cb >/dev/null 2>&1 & 如果有防火墙: firewall-cmd --zone=public --add-port=10008/tcp --permanent ...

    weblogic集群

    1. **启动Node Manager**:使用`nohup sh ./startNodeManager.sh > /dev/null`命令启动Node Manager服务。这将生成两个配置文件:`nodemanager.domains` 和 `nodemanager.properties`。 2. **配置文件调整**:进入`/...

    RocketMQ-3.5.8 源码安装版

    nohup sh mqnamesrv -c ../conf/mqnamesrv.properties >namesrv.out 2>&1 & nohup sh mqbroker -c ../conf/2m-noslave/broker-a.properties >broker.out 2>&1 & nohup sh mqbroker -c ../conf/2m-noslave/broker-b...

    kafka-manager-1.3.0.8.zip

    此代码是已经编译好的kafaka的管理端,下载...3、启动,nohup ./kafka-manager -Dconfig.file=../conf/application.conf -Dhttp.port=9001 >/dev/null 2>&1 & 4、在地址栏输入对应的ip:9001即可进入kafka-manager界面。

    Linux nohup实现后台运行程序及查看(nohup与&)

    一般运行linux上的程序都是执行 .sh 文件(./sh文件),那如果不影响当前CMD窗口的操作,需要后台运行怎么办呢? 这时就需要借助 nohup 和 & 命令来实现。 nohup java -server -Xms128M -Xmx512M -XX:MetaspaceSize...

    minio的Windows安装包

    nohup ./minio server ./data/ --console-address :8090 > nohup.out 2>&1 & 5.启动后会在data/生成一个.minio.sys的隐藏文件夹 vi ./data/.minio.sys/config/config.json access_key为用户名,secret_key为密码,...

    linux下nohup日志输出过大问题的解决方法

    Linux 下 nohup 日志输出过大问题的解决方法 Linux 是一个功能强大且广泛使用的操作系统,nohup 命令是 Linux 中的一个常用命令,用于在后台运行程序并将输出重定向到文件中。但是在使用 nohup 命令时,经常会遇到...

    kafka-manager-2.0.0.2-compile.zip

    kafa-manager-2.0.0.2编译版,需要jdk1.8支持,分享 运行启动kafka-manager,默认jdk1.8后面可以省掉 cd kafka-manager/bin ...nohup ./kafka-manager -Dconfig.file=../conf/application.conf >/dev/null 2>&1 &

    kafka-manager-1.3.3.22.zip

    [root@hadoop102 kafka-manager-1.3.3.22]$ nohup bin/kafka-manager -Dhttp.port=7456 >/opt/module/kafka-manager-1.3.3.22/start.log 2>&1 & 6)在浏览器中打开 备注:指定端口号看启动过程中 "-Dhttp.port=7456...

    nexus-3.31.1-01-unix.tar.gz

    《Nexus存储库管理器详解:nexus-3.31.1-01-unix.tar.gz全面解析》 在软件开发过程中,依赖管理和版本控制是至关重要的环节,Maven作为Java开发中的主流构建工具,依赖于中央仓库来获取各种构件。然而,企业级应用...

    Linux-nohup日志拆分

    ### Linux-nohup日志拆分详解 在Linux环境下,我们经常会使用`nohup`命令来运行一些长时间运行的任务,这些任务会将输出重定向到`nohup.out`文件中。随着运行时间的增长,这个文件可能会变得非常大,不仅占用大量...

    libreoffice7.1.8 安装教程和启动kkfielview

    8. nohup java -Dfile.encoding=UTF-8 -Dspring.config.location=../config/application.properties -jar kkFileView-4.0.0.jar > ../log/kkFileView.log 2>&1 & 六、总结 本教程指导了 LibreOffice 7.1.8 的安装...

    FIlebeat和Logstash部署步骤

    4. 启动Filebeat服务:nohup ./filebeat -e -c filebeat_gate.yml & 或者 ./filebeat -e -c filebeat.yml -d "publish" Logstash部署步骤: 1. 下载Logstash:...

    Linux技巧:让进程后台运行

    nohup ./startWebLogic.sh 1>stdout.log 2>stderr.log & 2. setsid setsid 无疑能帮助我们做到这一点。setsid 的使用也是非常方便的,也只需在要处理的命令前加上 setsid 即可。setsid 示例: setsid ping ...

    kafka安装手册

    nohup ./kafka-server-start.sh ../config/server.properties & 其中,nohup 表示不挂断的执行命令,即使退出账户也继续执行。 测试 Kafka 测试 Kafka 需要创建 topic 主题、生产消息和消费消息。 1. 创建 topic...

    服务器一键可运行,基于Python-fastapi实现的文件上传到服务器的服务(运行在服务器端)

    4. 测试可行后,不退出的后台运行命令如下:nohup python ./file_writer_server.py /data/upload/ 2>&1 & # api接口使用说明: 1.post请求地址:http://机器ip:9098/upload 2.post请求参数两个:file: UploadFile =...

Global site tag (gtag.js) - Google Analytics