. /etc/profile 和 nohup java命令解析

开发人员提供的远程执行脚本:

. /etc/profile ; cd /opt/xxx/xxx/xxx-server/ ; nohup java -jar xxx-server.jar >> /dev/null 2>&1 &

. /etc/profile

这个文件是每个用户登录时都会运行的环境变量设置,属于系统级别的环境变量,设置在里面的东西对所有用户适用;

source命令也称为“点命令”也就是一个点符号(.);

source 命令是 bash shell 的内置命令,从 C Shell 而来。

source 命令的另一种写法是点符号,用法和 source 相同,从Bourne Shell而来。

source 命令可以强行让一个脚本去立即影响当前的环境。

source 命令会强制执行脚本中的全部命令,而忽略文件的权限。

source 命令通常用于重新执行刚修改的初始化文件,如 .bash_profile 和 .profile 等等。

source 命令可以影响执行脚本的父shell的环境,而 export 则只能影响其子shell的环境。


nohup java -jar xxx-server.jar >> /dev/null 2>&1 &

命令 "nohup java -jar XXX.jar &" 部分,表示不挂断运行命令,当账户退出或终端关闭时,程序仍然运行;

">>"表示将输出以追加的方式重定向到指定日志文件中,也可以用单个">";

/dev/null 是一个特殊的文件,写入到它的内容都会被丢弃,起到禁止输出作用;

2>&1 表示将 stdout 和 stderr 合并后重定向到 /dev/null

标准输入文件(stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据。

标准输出文件(stdout):stdout 的文件描述符为1,Unix程序默认向stdout输出数据。

标准错误文件(stderr):stderr的文件描述符为2,Unix程序会向stderr流中写入错误信息。

末尾& 表示后台运行;

命令结尾没有 “&” ,则变成 “java -jar XXX.jar ” ,表示在当前ssh窗口,可按CTRL + C打断程序运行,或者直接关闭窗口,则程序直接退出

命令结尾添加 “&” ,则变成 “java -jar XXX.jar &” ,表示在当窗口关闭时,程序才会中止运行。&代表让该命令在后台执行。

你可能感兴趣的:(. /etc/profile 和 nohup java命令解析)