MrXiong
V2EX  ›  Java

老铁们,你们关闭 tomcat 的方式是啥样的?

  •  
  •   MrXiong · Nov 13, 2017 · 8179 views
    This topic created in 3287 days ago, the information mentioned may be changed or developed.

    直接 kill 是不是有点不妥?

    42 replies  •  2017-11-14 16:03:38 +08:00
    aver4vex
    aver4vex
    Nov 13, 2017
    1
    systemctl stop tomcat
    MrXiong
    MrXiong
    OP
    Nov 13, 2017
    2
    @aver4vex 和 kill -9 有区别吗
    zpf124
    zpf124
    Nov 13, 2017
    3
    shutdown 脚本执行不好使么...
    my3157
    my3157
    Nov 13, 2017
    4
    service tomcat7 stop
    aristotll
    aristotll
    Nov 13, 2017
    5
    @MrXiong #2 -9 绝对是不建议用的
    MrXiong
    MrXiong
    OP
    Nov 13, 2017
    6
    @zpf124 不知道,据说公司的运维都是 kill,如果直接 kill,那代码里加的 jvm 钩子岂不是失效了?
    jyf007
    jyf007
    Nov 13, 2017
    7
    /t/400120#reply15
    大家好我是那头老牛,当然还是直接 kill
    riggzh
    riggzh
    Nov 13, 2017
    8
    @MrXiong kill -9 回失效,直接 kill 不会
    oahoaix
    oahoaix
    Nov 13, 2017 via Android
    9
    ./shutdown.sh
    service tomcat stop
    MrXiong
    MrXiong
    OP
    Nov 13, 2017
    10
    @riggzh 你指的直接 kill 是啥
    aver4vex
    aver4vex
    Nov 13, 2017
    11
    @MrXiong 这是用 tomcat 自己的命令停止的服务的 /usr/local/tomcat/bin/catalina.sh stop,相对来说比直接 kill 好很多。
    zpf124
    zpf124
    Nov 13, 2017❤️1
    12
    @MrXiong 区别巨大...
    程序的退出方式简单来说应该是分三种的,
    1,程序自带结束命令,程序自己去处理结束的流程,例如端口资源什么的。
    2,kill,kill 命令会给对应进程发一个退出信号,之后的处理就和上一个类似,程序自己去结束资源什么的,然后返回。
    3,kill -9, 强制结束,不论进程是不是在读写数据调用资源,直接杀死。

    轻易不要 -9。
    Troevil
    Troevil
    Nov 13, 2017
    13
    LosLord
    LosLord
    Nov 13, 2017 via Android
    14
    springboot

    xxxxx.jar stop
    MrXiong
    MrXiong
    OP
    Nov 13, 2017
    15
    @zpf124 谢谢很详细
    psirnull
    psirnull
    Nov 13, 2017
    16
    halt
    zpf124
    zpf124
    Nov 13, 2017❤️1
    17
    举个例子,你正在给系统装 GUI,程序跑一半,你发现你一个服务器用不着图形界面,于是要停止这个操作。

    用 命令 自带的 stop 或者 普通的 kill,那程序可能会 1 分多钟才关闭,因为可能它还会将已经修改的内容还原回去。
    而 kill -9 直接就停了,半成品的文件就扔那了。
    odirus
    odirus
    Nov 13, 2017
    18
    使用 shutduwn.sh 比较安全

    顺便分享一下,一般我们是先从负载均衡移除了节点之后几分钟再进行关闭,这个时候基本上没用户在请求这个节点了,相对来说比较安全。
    hcymk2
    hcymk2
    Nov 13, 2017
    19
    Usage: catalina.sh ( commands ... )
    commands:
    debug Start Catalina in a debugger
    debug -security Debug Catalina with a security manager
    jpda start Start Catalina under JPDA debugger
    run Start Catalina in the current window
    run -security Start in the current window with security manager
    start Start Catalina in a separate window
    start -security Start in a separate window with security manager
    stop Stop Catalina, waiting up to 5 seconds for the process to end
    stop n Stop Catalina, waiting up to n seconds for the process to end
    stop -force Stop Catalina, wait up to 5 seconds and then use kill -KILL if still running
    stop n -force Stop Catalina, wait up to n seconds and then use kill -KILL if still running
    configtest Run a basic syntax check on server.xml - check exit code for result
    version What version of tomcat are you running?
    zlfzy
    zlfzy
    Nov 13, 2017
    20
    一直用 kill -9, 从未出过问题
    riggzh
    riggzh
    Nov 13, 2017
    21
    @MrXiong kill [uid]
    MrXiong
    MrXiong
    OP
    Nov 13, 2017
    22
    @odirus 我的服务的更新接口执行得 10 几个小时呢
    hubert3
    hubert3
    Nov 13, 2017
    23
    @oahoaix 第二个如果装了多个 tomcat 是不是全杀了?
    cxbig
    cxbig
    Nov 13, 2017
    24
    sudo service APP start|stop|restart|reload
    sudo systemctl start|stop|restart|reload APP.service
    Technetiumer
    Technetiumer
    Nov 13, 2017 via Android
    25
    service xxxx stop
    gitgit
    gitgit
    Nov 13, 2017 via Android
    26
    鼠标点击右上角的叉叉,为什么没有和我一样的,或者在 myeclipse 中的控制台中点击红色正方形
    boyhailong
    boyhailong
    Nov 13, 2017
    27
    kill processnum 程序加钩子处理就行了
    timothyye
    timothyye
    Nov 13, 2017
    28
    kill -9 PID && sudo rm -rf /
    loveCoding
    loveCoding
    Nov 13, 2017
    29
    ./shutdown.sh

    如果杀不死,一般是由 deamon 线程引起的.
    abcbuzhiming
    abcbuzhiming
    Nov 13, 2017
    30
    问这个问题之前难道不应该去看一下官方文档吗?
    qqpkat2
    qqpkat2
    Nov 13, 2017
    31
    @loveCoding 是的,shutdown.sh 有时候无法关闭 tomcat 这个时候就要用 kill-9 了
    nbstone
    nbstone
    Nov 13, 2017 via iPhone
    32
    reboot
    liv11d
    liv11d
    Nov 13, 2017
    33
    楼上的都不行,看我的 telnet 127.0.0.1 : 8005 shutdown
    把 127.0.0.1 替换成对应 的 ip 地址
    privil
    privil
    Nov 13, 2017
    34
    catalina.sh 话说好像添加一下默认的 pid 文件的设置比较好,不然直接用 catalina.sh stop 停不来下
    ik
    ik
    Nov 13, 2017 via iPhone
    35
    @riggzh pid or uid ?
    claysec
    claysec
    Nov 14, 2017
    36
    ./shutdown.sh && shutdown.bat
    panpanpan
    panpanpan
    Nov 14, 2017
    37
    kill -15 PID
    kylix
    kylix
    Nov 14, 2017
    38
    我一直用 shutdown.sh ,偶尔关不掉才用 kill
    paragon
    paragon
    Nov 14, 2017
    39
    docker stop tomcat1
    julyclyde
    julyclyde
    Nov 14, 2017
    40
    正常情况是 kill TERM
    所谓各种脚本的 stop,其实最终还是 kill TERM
    mineqiqi
    mineqiqi
    Nov 14, 2017
    41
    shutdown 然后 kill -9
    wooddice
    wooddice
    Nov 14, 2017
    42
    shutdown.sh 如果不行就 kill -9。。。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2067 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 91ms · UTC 01:31 · PVG 09:31 · LAX 17:31 · JFK 20:31
    ♥ Do have faith in what you're doing.