V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
qazwsxkevin
V2EX  ›  Linux

A 程序是在 rc.local 里以&方式运行起来,此时它的屏幕输出,默认是往 console 送,问题有三。。。

  •  
  •   qazwsxkevin · 22 天前 · 2077 次点击

    简称 A 程序
    操作系统是 Debian
    1 、如果是从 telnet/ssh 的 tty 方式进入服务器(root 身份),如何能当前远程登录屏幕,阻塞式,实时观看 A 程序往 console 的输出?

    2 、同 1 ,如何可以在登陆 tty 上非阻塞式,实时滚动出 A 程序的屏幕信息,但用户还可以执行命令操作?

    3 、同 1 ,2 ,此时如何可以关闭 A 程序的在当前 tty 的屏幕输出,但又不关闭 A 程序这个进程?

    17 条回复    2024-02-14 11:50:50 +08:00
    leeyuzhe
        1
    leeyuzhe  
       22 天前 via Android   ❤️ 3
    你是否在寻找 screen ?话说直接输出到文件里不香么
    momocraft
        2
    momocraft  
       22 天前
    都 2024 年了也不知道为什么那么多人喜欢用 rc.local 跑自启动程序
    qazwsxkevin
        3
    qazwsxkevin  
    OP
       22 天前
    @leeyuzhe #1 yes,thanks.
    cdlnls
        4
    cdlnls  
       22 天前 via Android   ❤️ 1
    2024 年了,就试试 systemd 吧,不要再看 10 年前的教程了。
    不过我猜你找的可能是 tmux 。
    qazwsxkevin
        5
    qazwsxkevin  
    OP
       22 天前
    哎,新年不想说些啥,备份岗做别人的事情,用不着上帝视觉,不应该问题扩展到问题以外,7 年的服务器,去改别人跑得好好的事情,这不找事吗,到此为止吧,谢谢热心了。
    qazwsxkevin
        6
    qazwsxkevin  
    OP
       22 天前
    还是想喷一下,这个 centos 6.7 ,居然 screen 的./configure 都过不了,还跟它去其它机上交叉编译? 直接再见,今晚不搞了,谢谢!
    nightwitch
        7
    nightwitch  
       22 天前
    直接重定向输出到某个日志文件里,1 ,2 ,3 都解决了
    msg7086
        8
    msg7086  
       21 天前
    哪个 Debian 没有 screen ?
    f14g
        9
    f14g  
       21 天前 via Android
    nohup 启动程序,标准输出等都重定向到文件中,tail -f 实时查看日志,Ctrl-C 结束 tail 并不影响原进程
    busier
        10
    busier  
       21 天前
    @momocraft 只能说中文教程害死人:)~!~!
    guanzhangzhang
        11
    guanzhangzhang  
       21 天前
    @f14g #9 nohub 挂了就 gg 了
    ltkun
        12
    ltkun  
       21 天前
    因为还是有很多人喜欢简单的 init 方式 比如去 systemd 的 debian 叫 devuan
    flyqie
        13
    flyqie  
       20 天前 via Android
    @ltkun #12

    除了内存紧张想不到有啥好处了。。
    nkloveni
        14
    nkloveni  
       20 天前
    @qazwsxkevin 就是,别听他们的,你要的东西理论可以实现,就是比较麻烦。https://github.com/nelhage/reptyr ,这个东东和你说的比较接近。但是已输出到 buffer frame 的,你再 attach 就拿不到的。
    如果是急事临时用一下可以试试 gdb ,attach 之后自然截获了 stdin 和 stdout ,如果想自己重定向一下也没问题,但是 gdb 会让程序变慢,不是所有场合都能这么干
    JackyTsang
        15
    JackyTsang  
       19 天前 via Android
    rc.local 很适合一句话命令开机自启,复杂点才用 systemd ,根本没啥矛盾,即便是 2024 年。
    ttvast
        16
    ttvast  
       19 天前 via Android
    @momocraft rc.local 只需要编辑一行代码就够了,为啥要用 systemd
    LindsayZhou
        17
    LindsayZhou  
       18 天前
    Re #13 #16
    最小的 openrc 服务也只要几行
    ```
    #!/sbin/openrc-run
    pidfile="/run/${RC_SVCNAME}.pid"
    command="/usr/sbin/ntpd"
    command_args="-p ${pidfile}"
    ```

    ref: https://github.com/OpenRC/openrc/blob/master/service-script-guide.md
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   912 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 19:27 · PVG 03:27 · LAX 11:27 · JFK 14:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.