• 服务器后台运行,客户端关闭,服务器不停止


    1、安装screen
      sudo apt-get install screen

    2、创建虚拟终端 q
      screen -S q
      screen -S q1
      screen -S q2

    3、查看已经创建的虚拟终端
      screen -ls

    4、进入某个虚拟终端
      screen  -r   q

    5、在终端执行所有的操作均可
      执行完操作后就不用管这个终端了,即使你的moba客户端关闭,服务器还在运行
      ctrl + A +D 就会退出当前的虚拟终端窗口,但是终端任务不会停止。

    6、杀掉这个终端
      输入 exit, 退出后,在screnn -ls中也查不到了

    7、记录日志
      方法一:
        启动时添加选项-L(Turn on output logging.) 会在当前目录下生成screenlog.0文件
          screen -L -dmS test: 启动一个开始就处于断开模式的会话,会话的名称是test。
          screen -r test:         连接该会话,在会话中的所有屏幕输出都会记录到screenlog.0文件
      方法二:
        在虚拟终端界面, 按快捷键ctrl + a ,然后再输入H, 就会在当前路径下生成一个screenlog.0的文件。开始记录
        再次同样操作,就会停止记录
      方法三:

        上面两个方法有个缺点:当创建多个screen会话的时候,每个会话都会记录日志到screenlog.0文件。screenlog.0中的内容就比较混乱了。

        解决方法如下,让每个screen会话窗口有单独的日志文件。

        在screen配置文件/etc/screenrc最后添加下面一行:

          logfile /tmp/screenlog_%t.log

        %t是指window窗口的名称,对应screen的-t参数。所以我们启动screen的时候要指定窗口的名称,例如:

              

        screen -L -t window1 -dmS test的意思是启动test会话,test会话的窗口名称为window1。屏幕日志记录在/tmp/screenlog_window1.log。如果启动的时候不加-L参数,在screen session下按ctrl+a H,日志也会记录在/tmp/screenlog_window1.log。

        注意,如果写成:logfile ./screenlog_%t.log 则是把日志文件记录到当前目录下。

          例子:

            screen -L -t name -S name ./name

            第一个name是记录日志的名字,第二个name是screen -ls 列表展示出来的名字,第三个name是需要运行的程序。

    8、多个屏幕记录
      参考https://zhuanlan.zhihu.com/p/107802400

  • 相关阅读:
    (转)C3P0连接池配置和实现详解
    (转)jquery插件Validate的使用
    二叉树和翻转二叉树
    利用@media screen实现网页布局的自适应
    (转)防止SQL注入的五种方法
    java代码规范
    Java泛型-类型擦除
    js中的isNaN()
    (转)sublime 一些常用功能和快捷键
    (转)java中不常见的关键字:strictfp,transient
  • 原文地址:https://www.cnblogs.com/yunshangyue71/p/13265945.html
Copyright © 2020-2023  润新知