问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Linux怎么使用screen命令

发布网友 发布时间:2022-04-22 22:49

我来回答

2个回答

懂视网 时间:2022-05-15 12:23

你是不是经常需要 SSH 或者 telent 远程登录到 Linux 服务器?你是不是经常为一些长时间运行的任务而头疼,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为他们执行的时间太长了。必须等待它执行完毕,在此期间可不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。

元凶:SIGHUP 信号

让我们来看看为什么关掉窗口/断开连接会使得正在运行的程序死掉。

在Linux/Unix中,有这样几个概念:

  • 进程组(process group):一个或多个进程的集合,每一个进程组有唯一一个进程组ID,即进程组长进程的ID。

  • 会话期(session):一个或多个进程组的集合,有唯一一个会话期首进程(session leader)。会话期ID为首进程的ID。

  • 会话期可以有一个单独的控制终端(controlling terminal)。与控制终端连接的会话期首进程叫做控制进程(controlling process)。当前与终端交互的进程称为前台进程组。其余进程组称为后台进程组。

  • 根据POSIX.1定义:

  • 挂断信号(SIGHUP)默认的动作是终止程序。

  • 当终端接口检测到网络连接断开,将挂断信号发送给控制进程(会话期首进程)。

  • 如果会话期首进程终止,则该信号发送到该会话期前台进程组。

  • 一个进程退出导致一个孤儿进程组中产生时,如果任意一个孤儿进程组进程处于STOP状态,发送SIGHUP和SIGCONT信号到该进程组中所有进程。

  • 因此当网络断开或终端窗口关闭后,控制进程收到SIGHUP信号退出,会导致该会话期内其他进程退出。

    我们来看一个例子。打开两个SSH终端窗口,在其中一个运行top命令。

    [root@tivf09 root]# top

    在另一个终端窗口,找到top的进程ID为5180,其父进程ID为5128,即登录shell。

    [root@tivf09 root]# ps -ef|grep top
    root 5180 5128 0 01:03 pts/0 00:00:02 top
    root 5857 3672 0 01:12 pts/2 00:00:00 grep top

    使用pstree命令可以更清楚地看到这个关系:

    [root@tivf09 root]# pstree -H 5180|grep top
    |-sshd-+-sshd---bash---top

    使用ps-xj命令可以看到,登录shell(PID 5128)和top在同一个会话期,shell为会话期首进程,所在进程组PGID为5128,top所在进程组PGID为5180,为前台进程组。

    [root@tivf09 root]# ps -xj|grep 5128
     5126 5128 5128 5128 pts/0 5180 S 0 0:00 -bash
     5128 5180 5180 5128 pts/0 5180 S 0 0:50 top
     3672 18095 18094 3672 pts/2 18094 S 0 0:00 grep 5128

    关闭第一个SSH窗口,在另一个窗口中可以看到top也被杀掉了。

    [root@tivf09 root]# ps -ef|grep 5128
    root 18699 3672 0 04:35 pts/2 00:00:00 grep 5128

    如果我们可以忽略SIGHUP信号,关掉窗口应该就不会影响程序的运行了。nohup命令可以达到这个目的,如果程序的标准输出/标准错误是终端,nohup默认将其重定向到nohup.out文件。值得注意的是nohup命令只是使得程序忽略SIGHUP信号,还需要使用标记&把它放在后台运行。

    nohup <command> [argument…] &

    虽然nohup很容易使用,但还是比较“简陋”的,对于简单的命令能够应付过来,对于复杂的需要人机交互的任务就麻烦了。

    其实我们可以使用一个更为强大的实用程序screen。流行的Linux发行版(例如Red Hat Enterprise Linux 4)通常会自带screen实用程序,如果没有的话,可以从GNU screen的官方网站下载。

    [root@tivf06 ~]# rpm -qa|grep screen
    xscreensaver-4.18-5.rhel4.11
    screen-4.0.2-5

    开始使用Screen

    简单来说,Screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器。Screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。在screen中创建一个新的窗口有这样几种方式:

    1.直接在命令行键入screen命令

    [root@tivf06 ~]# screen

    Screen将创建一个执行shell的全屏窗口。你可以执行任意shell程序,就像在ssh窗口中那样。在该窗口中键入exit退出该窗口,如果这是该screen会话的唯一窗口,该screen会话退出,否则screen自动切换到前一个窗口。

    2.Screen命令后跟你要执行的程序。

    [root@tivf06 ~]# screen vi test.c

    Screen创建一个执行vi test.c的单窗口会话,退出vi将退出该窗口/会话。

    3.以上两种方式都创建新的screen会话。我们还可以在一个已有screen会话中创建新的窗口。在当前screen窗口中键入C-a c,即Ctrl键+a键,之后再按下c键,screen 在该会话内生成一个新的窗口并切换到该窗口。

    screen还有更高级的功能。你可以不中断screen窗口中程序的运行而暂时断开(detach)screen会话,并在随后时间重新连接(attach)该会话,重新控制各窗口中运行的程序。例如,我们打开一个screen窗口编辑/tmp/abc文件:

    [root@tivf06 ~]# screen vi /tmp/abc

    之后我们想暂时退出做点别的事情,比如出去散散步,那么在screen窗口键入C-a d,Screen会给出detached提示:

    暂时中断会话

    半个小时之后回来了,找到该screen会话:

    [root@tivf06 ~]# screen -ls
    There is a screen on:
     16582.pts-1.tivf06 (Detached)
    1 Socket in /tmp/screens/S-root.

    重新连接会话:

    [root@tivf06 ~]# screen -r 16582

    看看出现什么了,太棒了,一切都在。继续干吧。

    你可能注意到给screen发送命令使用了特殊的键组合C-a。这是因为我们在键盘上键入的信息是直接发送给当前screen窗口,必须用其他方式向screen窗口管理器发出命令,默认情况下,screen接收以C-a开始的命令。这种命令形式在screen中叫做键绑定(key binding),C-a叫做命令字符(command character)。

    可以通过C-a ?来查看所有的键绑定,常用的键绑定有:

    C-a ?显示所有键绑定信息
    C-a w显示所有窗口列表
    C-a C-a切换到之前显示的窗口
    C-a c创建一个新的运行shell的窗口并切换到该窗口
    C-a n切换到下一个窗口
    C-a p切换到前一个窗口(与C-a n相对)
    C-a 0..9切换到窗口0..9
    C-a a发送 C-a到当前窗口
    C-a d暂时断开screen会话
    C-a k杀掉当前窗口
    C-a [进入拷贝/回滚模式

    Screen常用选项

    使用键绑定C-a ?命令可以看到, 默认的命令字符(Command key)为C-a,转义C-a(literal ^a)的字符为a:

    Screen 常用选项

    因为screen把C-a看作是screen命令的开始,所以如果你想要screen窗口接收到C-a字符,就要输入C-a a。Screen也允许你使用-e选项设置自己的命令字符和转义字符,其格式为:

    -exy x为命令字符,y为转义命令字符的字符

    下面命令启动的screen会话指定了命令字符为C-t,转义C-t的字符为t,通过C-t ?命令可以看到该变化。

    [root@tivf18 root]# screen -e^tt
    自定义命令字符和转义字符

    其他常用的命令选项有:

    -c file使用配置文件file,而不使用默认的$HOME/.screenrc
    -d|-D [pid.tty.host]不开启新的screen会话,而是断开其他正在运行的screen会话
    -h num指定历史回滚缓冲区大小为num行
    -list|-ls列出现有screen会话,格式为pid.tty.host
    -d -m启动一个开始就处于断开模式的会话
    -r sessionowner/ [pid.tty.host]重新连接一个断开的会话。多用户模式下连接到其他用户screen会话需要指定sessionowner,需要setuid-root权限
    -S sessionname创建screen会话时为会话指定一个名字
    -v显示screen版本信息
    -wipe [match]同-list,但删掉那些无法连接的会话

    下例显示当前有两个处于detached状态的screen会话,你可以使用screen -r <screen_pid>重新连接上:

    [root@tivf18 root]# screen –ls
    There are screens on:
     8736.pts-1.tivf18 (Detached)
     8462.pts-0.tivf18 (Detached)
    2 Sockets in /root/.screen.
    
    [root@tivf18 root]# screen –r 8736

    如果由于某种原因其中一个会话死掉了(例如人为杀掉该会话),这时screen -list会显示该会话为dead状态。使用screen -wipe命令清除该会话:

    [root@tivf18 root]# kill -9 8462
    [root@tivf18 root]# screen -ls 
    There are screens on:
     8736.pts-1.tivf18 (Detached)
     8462.pts-0.tivf18 (Dead ???)
    Remove dead screens with 'screen -wipe'.
    2 Sockets in /root/.screen.
    
    [root@tivf18 root]# screen -wipe
    There are screens on:
     8736.pts-1.tivf18 (Detached)
     8462.pts-0.tivf18 (Removed)
    1 socket wiped out.
    1 Socket in /root/.screen.
    
    [root@tivf18 root]# screen -ls 
    There is a screen on:
     8736.pts-1.tivf18 (Detached)
    1 Socket in /root/.screen.
    
    [root@tivf18 root]#

    -d –m 选项是一对很有意思的搭档。他们启动一个开始就处于断开模式的会话。你可以在随后需要的时候连接上该会话。有时候这是一个很有用的功能,比如我们可以使用它调试后台程序。该选项一个更常用的搭配是:-dmS sessionname

    启动一个初始状态断开的screen会话:

    [root@tivf06 tianq]# screen -dmS mygdb gdb execlp_test

    连接该会话:

    [root@tivf06 tianq]# screen -r mygdb

    管理你的远程会话

    先来看看如何使用screen解决SIGHUP问题,比如现在我们要ftp传输一个大文件。如果按老的办法,SSH登录到系统,直接ftp命令开始传输,之后。。如果网络速度还可以,恭喜你,不用等太长时间了;如果网络不好,老老实实等着吧,只能传输完毕再断开SSH连接了。让我们使用screen来试试。

    SSH登录到系统,在命令行键入screen。

    [root@tivf18 root]# screen

    在screen shell窗口中输入ftp命令,登录,开始传输。不愿意等了?OK,在窗口中键入C-a d:

    管理你的远程会话

    然后。。退出SSH登录?随你怎样,只要别杀掉screen会话。

    是不是很方便?更进一步,其实我们可以利用screen这种功能来管理你的远程会话,保存你所有的工作内容。你是不是每次登录到系统都要开很多窗口,然后每天都要重复打开关闭这些窗口?让screen来帮你“保存”吧,你只需要打开一个ssh窗口,创建需要的screen窗口,退出的时候C-a d“保存”你的工作,下次登录后直接screen -r <screen_pid>就可以了。

    最好能给每个窗口起一个名字,这样好记些。使用C-a A给窗口起名字。使用C-a w可以看到这些窗口名字,可能名字出现的位置不同。使用putty:

    putty

    使用telnet:

    telnet


    更多Screen功能

    Screen提供了丰富强大的定制功能。你可以在Screen的默认两级配置文件/etc/screenrc和$HOME/.screenrc中指定更多,例如设定screen选项,定制绑定键,设定screen会话自启动窗口,启用多用户模式,定制用户访问权限控制等等。如果你愿意的话,也可以自己指定screen配置文件。

    以多用户功能为例,screen默认是以单用户模式运行的,你需要在配置文件中指定multiuser on 来打开多用户模式,通过acl*(acladd,acldel,aclchg...)命令,你可以灵活配置其他用户访问你的screen会话。更多配置文件内容请参考screen的man页。

    热心网友 时间:2022-05-15 09:31

      作为linux服务器管理员,经常要使用ssh登陆到远程linux机器上做一些耗时的操作。   也许你遇到过使用telnet或SSH远程登录linux,运行一些程序。如果这些程序需要运行很长时间(几个小时),而程序运行过程中出现网络故障,或者客户机故障,这时候客户机与远程服务器的链接将终端,并且远程服务器没有正常结束的命令将*终止。   又比如你SSH到主机上后,开始批量的scp命令,如果这个ssh线程断线了,scp进程就中断了。在远程服务器上正在运行某些耗时的作业,但是工作还没做完快要下班了,退出的话就会中断操作了,如何才好呢?   我们利用screen命令可以很好的解决这个问题。实现在断开SSH的情况下,在服务器上继续执行程序。   那什么是screen命令?   Screen被称之为一个全屏窗口管理器,用他可以轻松在一个物理终端上获得多个虚拟终端的效果。   Screen功能说明:   简单来说,Screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器,这意味着你能够使用一个单一的终端窗口运行多终端的应用。Screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。   Screen命令语法:   screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]   Screen命令参数:   -A -[rR] 将所有的视窗都调整为目前终端机的大小。   -c filename 用指定的filename文件替代screen的配置文件’.screenrc’.   -d [pid.tty.host] 断开screen进程(使用该命令时,screen的状态一定要是Attached,也就是说有用户连在screen里)。一般进程的名字是以pid.tty.host这种形式表示(用screen -list命令可以看出状态)。   -D [pid.tty.host] 与-d命令实现一样的功能,区别就是如果执行成功,会踢掉原来在screen里的用户并让他logout。   -h <行数>   指定视窗的缓冲区行数。   -ls或–list 显示目前所有的screen作业。   -m 即使目前已在作业中的screen作业,仍强制建立新的screen作业。   -p number or name 预先选择一个窗口。   -r [pid.tty.host] 恢复离线的screen进程,如果有多个断开的进程,需要指定[pid.tty.host]   -R 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。   -s shell 指定建立新视窗时,所要执行的shell。   -S <作业名称> 指定screen作业的名称。(用来替代[pid.tty.host]的命名方式,可以简化操作).   -v 显示版本信息。   -wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业。   -x 恢复之前离线的screen作业。   Screen命令的常规用法:   screen -d -r:连接一个screen进程,如果该进程是attached,就先踢掉远端用户再连接。   screen -D -r:连接一个screen进程,如果该进程是attached,就先踢掉远端用户并让他logout再连接   screen -ls或者-list:显示存在的screen进程,常用命令   screen -m:如果在一个Screen进程里,用快捷键crtl+a c或者直接打screen可以创建一个新窗口,screen -m可以新建一个screen进程。   screen -dm:新建一个screen,并默认是detached模式,也就是建好之后不会连上去。   screen -p number or name:预先选择一个窗口。   Screen实现后台运行程序的简单步骤:   1> 要进行某项操作时,先使用命令创建一个Screen:   代码如下:   [linux@user~]$ screen -S test1   2>接着就可以在里面进行操作了,如果你的任务还没完成就要走开的话,使用命令保留Screen:   代码如下:   [linux@user~]$ Ctrl+a+d #按Ctrl+a,然后再按d即可保留Screen   [detached] #这时会显示出这个提示,说明已经保留好Screen了   如果你工作完成的话,就直接输入:   代码如下:   [linux@user~]$ exit #这样就表示成功退出了   [screen is terminating]   3> 如果你上一次保留了Screen,可以使用命令查看:   代码如下:   [linux@user~]$ screen -ls   There is a screen on:   9649.test1 (Detached)   恢复Screen,使用命令:   代码如下:   [linux@user~]$ screen -r test1 (or 9649)   Screen命令中用到的快捷键   Ctrl+a c :创建窗口   Ctrl+a w :窗口列表   Ctrl+a n :下一个窗口   Ctrl+a p :上一个窗口   Ctrl+a 0-9 :在第0个窗口和第9个窗口之间切换   Ctrl+a K(大写) :关闭当前窗口,并且切换到下一个窗口(当退出最后一个窗口时,该终端自动终止,并且退回到原始shell状态)   exit :关闭当前窗口,并且切换到下一个窗口(当退出最后一个窗口时,该终端自动终止,并且退回到原始shell状态)   Ctrl+a d :退出当前终端,返回加载screen前的shell命令状态   多窗口   screen,像许多的窗口管理器一样,能支持多窗口。这个功能在处理多个任务且同时没有打开新的会话时 很有用。作为一个系统管理员,我常常要同时开四五个SSH会话。在每个shell下,我可能要处理两三个任务。不使用screen的话,需要15个SSH 会话,15次登录,15个窗口等等。使用screen,每个系统都分配到一个单独的会话中,我通过screen来管理系统上不同的作业。   要打开新的窗口,只需要使用“Ctrl-A”“c”。创建的新的窗口会显示一个默认的命令提示符。例如,我可以运行top命令后再打开一个新的窗口来做其它的工作。Top继续留在那运行!可以亲身实验一下,启动screen并运行top。(注:为了节省空间我截断了多个屏幕。)   启动top   代码如下:   Mem: 506028K av, 500596K used, 5432K free,   0K shrd, 11752K buff   Swap: 1020116K av, 53320K used, 966796K free   393660K cached < p> PID USER PRI NI SIZE RSS SHARE STAT %CPU %ME   6538 root 25 0 1892 1892 596 R 49.1 0.3   6614 root 16 0 1544 1544 668 S 28.3 0.3   7198 admin 15 0 1108 1104 828 R 5.6 0.2   现在可以通过“Ctrl-A”“c”来打开一个新窗口   代码如下:   [admin@ensim admin]$   To get back to top, use "Ctrl-A "n"   Mem: 506028K av, 500588K used, 5440K free,   0K shrd, 11960K buff   Swap: 1020116K av, 53320K used, 966796K free   392220K cached < p> PID USER PRI NI SIZE RSS SHARE STAT %CPU %ME   6538 root 25 0 1892 1892 596 R 48.3 0.3   6614 root 15 0 1544 1544 668 S 30.7 0.3   你可以创建多个窗口然后通过“Ctrl-A”“n”切换到下一个窗口,或者使用“Ctrl-A”“p”返回上一个窗口。当你在其它窗口工作时,其它窗口的每个程序都会保持运行。   退出screen   有两种方式退出screen。第一种和登出一个shell一样,你可以通过“Ctrl-A”“K”或者“exit”来终止一个窗口。这样当前的窗口会被关闭,如果你打开了多个窗口,你就会直接转到其余中的一个,而如果是仅有的一个窗口时,你就退出了screen。   另外一种退出screen的方式是分离窗口。这种方式只是简单地关闭了窗口但进程仍运行着。如果你有确定要长时间执行的进程,还需要关闭SSH程序时,你便可以使用“Ctrl-A”“d”分离窗口。这会使你回到shell中。所有的screen窗口都待在那里,你可以稍后重新接管它们。(译者注:这很像我们实际中的最小化窗口和程序后台运行)   接管会话   假设你正用着screen花了很长时间编译着一个程序,突然间你的连接断开了。请不用担心,screen会保存你的编译进度。重新登录你的操作系统后使用screen列表工具查看有哪些会话正在运行:   代码如下:   [root@gigan root]# screen -ls   There are screens on:   31619.ttyp2.gigan (Detached)   4731.ttyp2.gigan (Detached)   2 Sockets in /tmp/screens/S-root.   在这里,我有两个不同的screen会话。要需要重新接管其中一个,使用恢复窗口的命令:   代码如下:   [root@gigan root]#screen -r 31619.ttyp2.gigan   只需要使用 -r 选项再接会话的名,现在你便可以重新回到刚才的屏幕。令人欣喜的是,你还可以在任何地方重新接管。不论在办公室还是其它客户端上,你都可以使用screen来启动一项工作然后退出。   多窗口   screen,像许多的窗口管理器一样,能支持多窗口。这个功能在处理多个任务且同时没有打开新的会话时 很有用。作为一个系统管理员,我常常要同时开四五个SSH会话。在每个shell下,我可能要处理两三个任务。不使用screen的话,需要15个SSH 会话,15次登录,15个窗口等等。使用screen,每个系统都分配到一个单独的会话中,我通过screen来管理系统上不同的作业。   要打开新的窗口,只需要使用“Ctrl-A”“c”。创建的新的窗口会显示一个默认的命令提示符。例如,我可以运行top命令后再打开一个新的窗口来做其它的工作。Top继续留在那运行!可以亲身实验一下,启动screen并运行top。(注:为了节省空间我截断了多个屏幕。)   启动top   代码如下:   Mem: 506028K av, 500596K used, 5432K free,   0K shrd, 11752K buff   Swap: 1020116K av, 53320K used, 966796K free   393660K cached < p> PID USER PRI NI SIZE RSS SHARE STAT %CPU %ME   6538 root 25 0 1892 1892 596 R 49.1 0.3   6614 root 16 0 1544 1544 668 S 28.3 0.3   7198 admin 15 0 1108 1104 828 R 5.6 0.2   现在可以通过“Ctrl-A”“c”来打开一个新窗口   代码如下:   [admin@ensim admin]$   To get back to top, use "Ctrl-A "n"   Mem: 506028K av, 500588K used, 5440K free,   0K shrd, 11960K buff   Swap: 1020116K av, 53320K used, 966796K free   392220K cached < p> PID USER PRI NI SIZE RSS SHARE STAT %CPU %ME   6538 root 25 0 1892 1892 596 R 48.3 0.3   6614 root 15 0 1544 1544 668 S 30.7 0.3   你可以创建多个窗口然后通过“Ctrl-A”“n”切换到下一个窗口,或者使用“Ctrl-A”“p”返回上一个窗口。当你在其它窗口工作时,其它窗口的每个程序都会保持运行。   退出screen   有两种方式退出screen。第一种和登出一个shell一样,你可以通过“Ctrl-A”“K”或者“exit”来终止一个窗口。这样当前的窗口会被关闭,如果你打开了多个窗口,你就会直接转到其余中的一个,而如果是仅有的一个窗口时,你就退出了screen。   另外一种退出screen的方式是分离窗口。这种方式只是简单地关闭了窗口但进程仍运行着。如果你有确定要长时间执行的进程,还需要关闭SSH程序时,你便可以使用“Ctrl-A”“d”分离窗口。这会使你回到shell中。所有的screen窗口都待在那里,你可以稍后重新接管它们。(译者注:这很像我们实际中的最小化窗口和程序后台运行)   接管会话   假设你正用着screen花了很长时间编译着一个程序,突然间你的连接断开了。请不用担心,screen会保存你的编译进度。重新登录你的操作系统后使用screen列表工具查看有哪些会话正在运行:   代码如下:   [root@gigan root]# screen -ls   There are screens on:   31619.ttyp2.gigan (Detached)   4731.ttyp2.gigan (Detached)   2 Sockets in /tmp/screens/S-root.   在这里,我有两个不同的screen会话。要需要重新接管其中一个,使用恢复窗口的命令:   代码如下:   [root@gigan root]#screen -r 31619.ttyp2.gigan   只需要使用 -r 选项再接会话的名,现在你便可以重新回到刚才的屏幕。令人欣喜的是,你还可以在任何地方重新接管。不论在办公室还是其它客户端上,你都可以使用screen来启动一项工作然后退出。
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    胶原蛋白线双眼皮是不是永久性 双眼皮埋线是蛋白质还是尼龙绳-双眼皮埋线蛋白线多久能吸收 人体输液的“港口”完全植入式输液港 双眼皮宽变窄修复的方法 同心保家庭重疾险靠不靠谱?便宜吗? 做完双眼皮一宽一窄怎么办 喝全脂奶粉对长高有没有什么好处? redmine中“选择一个项目..."下拉列表框中为什么只列出一个项目,我建... 南充市龙门中学实力现在怎样?他的奥赛班是重点班么? 感情中为什么总是不知足呢? 如何使用screen Linux中踢出其他正在SSH登陆用户的命令是哪个?? ubuntu同一个用户可以在多地同时登录,请问怎么踢掉正在进行的其他登录? cisco交换机一直vty有人占用怎么踢掉acl也做过不起作用谁能帮帮 如何强制踢出Linux中登录的用户 linux 如何杀掉 tty终端 黑石山英雄难度达基萨斯将军怎么过 炉石传说黑石山英雄模式维克多奈法利奥斯怎么过 炉石传说怎么过英雄难度黑石山第一章 炉石传说怎么打黑石山英雄难度格力斯通 五谷杂粮怎么煮才好吃呢? 求教黑石山英雄难度最后一关奈法利安 黑石山英雄难度攻略一区裁决者怎么过 粗粮怎么煮 炉石传说黑石山英雄难度拉格纳罗斯怎么打 五谷杂粮怎样做,煮起来更加软糯有什么方法 黑石山马洛拉克英雄模式怎么打 求黑石山第四区奈法利安英雄模式怎么打 五谷杂粮类打磨成粉要煮多久才是熟了呢? 黑石山英雄难度的马洛拉克怎么过 linux下为什么要删除普通用户,提示xxx currently logged in 《怎样实现通过shell脚本将用户踢出系统》 如何在云服务器上部署持久运行scrapy linux创建 screen 会话是什么意思 如何剔除Linux在线用户 詟袭虂鎴戣&#xFFFD;鎶曡瘔婀栧寳鐪佹&#xFFFD;绌村竞浜轰缭鍏&#xFFFD;徃.楠楁姇淇濅汉镄勯挶.锲犱负鎴戠殑灏忚溅浜ょ殑鍏ㄤ... 关于迅雷下载速度慢的问题,求高手帮忙 银行贷款5万一年利息多少钱? 徐山徐香猕猴桃产自哪里? 向银行贷款5万需要什么条件 银行贷款5万元,一年的利息是多少? 个人银行贷款5万需要什么条件 在银行贷款5万需要满足什么条件 徐香猕猴为什么那么甜?是品质原因还是认为的添加了东西? 个人怎样向银行贷款5万? 银行贷款5万元,一年利率多少还有利息是多少? 猕猴桃分几大类? 去银行贷款5万需要什么条件 辰颐物语的徐香猕猴桃甜不甜,是从原产地直接发货的吗? 我想在银行贷款5万,三年还清,每个月要还多少钱?