zoukankan      html  css  js  c++  java
  • java -jar 与nohup的区别

    ——作为java程序员,经常会遇到这样一个问题,打个jar包,测试或者上线生产,于是乎面临的选择来了,java –jar or nohup?

    下面我来扒一扒:

    一、    java -jar a.jar &

     

    直接启动jar文件,在当前会话进程中开启一个子进程来运行程序,这个子进程会随着会话进程的结束而结束。

    这种情况适合短时间测试用。

    二、     nohup java -jar a.jar&

     

    先交代一下名词:

    hangup (挂断),终端退出时会发送 hangup 信号来通知其关闭所有子进程。

    nohup(不挂断,忽略挂断信号)

    nohup 的使用是十分方便的,只需在要处理的命令前加上 nohup 即可,标准输出和标准错误缺省会被重定向到 nohup.out 文件中。一般我们可在结尾加上"&"来将命令同时

    放入后台运行,也可用">filename2>&1"来更改缺省的重定向文件名。

    这种情况适合在生产环境长时间运行。

    nodejs 在linux上后台运行

    1.用forever  进行管理

    npm install -g forever
    forever start index.js
     

    2. 用自带的服务nohup

    nohup node index.js&
    nohup node index.js > myLog.log 2>&1 &
    nohup问题:
    但是有时候在这一步会有问题,当把终端关闭后,进程会自动被关闭,察看nohup.out可以看到在关闭终端瞬间服务自动关闭。
    有个操作终端时的细节:当shell中提示了nohup成功后还需要按终端上键盘任意键退回到shell输入命令窗口,然后通过在shell中输入exit来退出终端;而我是每次在nohup执行成功后直接点关闭程序按钮关闭终端。所以这时候会断掉该命令所对应的session,导致nohup对应的进程被通知需要一起shutdown。
  • 相关阅读:
    owlCarousel 用法心得1 -20170405
    js数组去重的四种方法
    js获取url参数值
    jq index()
    jQuery(expression,[context])
    音乐播放器的实现+显示当前时间的歌词(只显示当前时间的文本)
    iOS自动布局框架-Masonry详解
    ios -完全实现代码设置 Could not find a storyboard named 'Main' in bundle NSBundle
    Python使用MySQL数据库的
    iOS 阿里百川SDK集成注意点
  • 原文地址:https://www.cnblogs.com/cosyer/p/7828258.html
Copyright © 2011-2022 走看看