iblessyou
V2EX  ›  Terminal

求教个常见的 shell 问题

  •  
  •   iblessyou · May 30, 2024 · 2133 views
    This topic created in 888 days ago, the information mentioned may be changed or developed.

    如下 shell , elasticsearch -d 放到 main 方法里直接执行就可以,在 start 里会卡在那,程序也不自动退出,如果还是想用类似结构,怎么避免呢。

    function start (){
      elasticsearch -d 
    }
    
    function main(){
      start
    }
    main
    
    Supplement 1  ·  May 30, 2024
    我的锅,刚发现放 main 里也不行,必须不用方法包着才正常。
    5 replies  •  2024-05-30 15:20:24 +08:00
    gzldc
    gzldc
    May 30, 2024
    1
    elasticsearch -d 后面加上空格 + & ,作用是把命令放到后台运行
    gzldc
    gzldc
    May 30, 2024
    2
    或者也可以试试 nohup 最好指定一下输入 log 目录 不然默认都打印在当前目录的 nohup.out 了
    rrfeng
    rrfeng
    May 30, 2024
    3
    直接 -d 程序会退出吗?
    iblessyou
    iblessyou
    OP
    May 30, 2024
    4
    @rrfeng 直接执行或者放 shell 里直接执行都正常


    @ssgooglg ai 回答也是加&,试了下不行。
    rrfeng
    rrfeng
    May 30, 2024
    5
    这个代码没问题,肯定其他地方有
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4144 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 05:38 · PVG 13:38 · LAX 21:38 · JFK 00:38
    ♥ Do have faith in what you're doing.