nohup ./startWebLogic.sh >out.log 2>&1 &

阅读数:160 评论数:0

跳转到新版页面

分类

Linux

正文

nohup ./startWebLogic.sh >out.log 2>&1 &

一、关于0、1、2的解释

0 – stdin (standard input)
1 – stdout (standard output)
2 – stderr (standard error)

2>&1 是将标准错误信息转变成标准输出,这样就可以将错误信息输出到out.log 日志里面来。

二、关于nohup与&

nohup不受终端关闭、用户退出影响,可以使用ctrl+c结束掉

&指在后台运行,不能使用ctrl+c结束掉,但受终端关闭、用户退出影响

nohup+最后面的& 是让命令在后台执行

三、关于输出日志

>out.log 是将信息输出到out.log日志中

如果不想输出日志信息:

nohup ./program >/dev/null 2>&1 &

四、管道引起的异常日志不入日志文件

nohup java -jar *.jar | cronolog 2>&1 &

这里的管道(|)和重定向(2>&1)的使用是有问题的。这个命令实际上并没有正确地将标准错误(stderr)重定向到 cronolog,而只重定向了标准输出(stdout)。

下面是一个修正后的命令示例:

nohup java -jar *.jar > >(cronolog /path/to/logfile.%Y-%m-%d.log) 2>&1 &

如果你在使用 systemd 的系统上,你也可以考虑创建一个 systemd 服务文件来管理你的 Java 应用程序。使用 systemd 服务文件,你可以更加精细地控制日志处理和服务的其它方面。在服务文件中,你可以使用 StandardOutput 和 StandardError 指令来重定向输出和错误。

例如,创建一个新的服务文件 /etc/systemd/system/my-java-app.service

[Unit]
Description=My Java Application

[Service]
ExecStart=/usr/bin/java -jar /path/to/yourapp.jar
StandardOutput=append:/path/to/logfile.log
StandardError=append:/path/to/errorfile.log
User=java-app-user
Group=java-app-group
Restart=always

[Install]
WantedBy=multi-user.target

然后启用并启动服务:

sudo systemctl daemon-reload
sudo systemctl enable my-java-app.service
sudo systemctl start my-java-app.service

这样,你的 Java 应用程序的日志就会被 systemd 管理,并且你可以使用 journalctl 命令来查看日志:

journalctl -u my-java-app.service



相关推荐

一、systemd概述 systemd即为system daemon,是Linux下的一种init软件,在LGPL 2.1及其后续版本许可下开源发布,开发目标是提供更优秀的框架

一、下载安装cronolog yum install cronolog 二、查

一、概述 1、为什么Linus不使用GPLv3 在 PC 上,只要你得到了某个程序的源代码,就可以自行编译生成二进制程序,然后替换掉原有的二进制程序,你的程序自由很容易得到保证。然而 iPod、iPh

说明:这种方式只是用于方便阅读代码,因为可以在源代间快速索引跳跃。但是最后可能会有一些warning,可以不必关心,如果是强迫症,可以使用下面这种方式来去掉。

一、概述 在Linux系统中,/usr/bin和/usr/local/bin是两个常见的目录,用于存放可执行文件(二进制文件)。 很多应用都安装在/usr/local下面,先看一下automake工具

  一、概述 vmstat命令是最常见的Linux/Unix监控工具,可以监控给定时间间隔服务器的CPU使用率、内存使用、IO情况。相比top命令,可以查看到整个机器的CPU、内存、IO的使用情况,而

一、概述 sar,System Activity Reporter。是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁

一、简介 简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 二、使用方法 1、基本语法  awk '条件类型1 {动作1} 条件类型2{动作2} ...

一、概述 列出目标目录中所有的子目录和文件。 二、 语法 ls [选项] [目录名] -a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件 -A 同-a,但不列出“.”(表示当前目录)

一、概述 cd全称是change directory,用于切换当前工作目录。 注意的是,cd命令是一个内建命令,它是由 shell 提供的。因此,不同的 shell 可能会有一些差异,但基本的用法和功