我一个Ubuntu 9.04用户。定的屏幕会话,如下面的列表:

9076.pts-30.moe (09/27/2009 11:30:08 PM)    (Attached)
8778.pts-24.moe (09/27/2009 11:29:46 PM)    (Detached)
8674.pts-0.moe  (09/27/2009 11:29:25 PM)    (Attached)
22649.pts-28.moe    (09/27/2009 11:51:46 AM)    (Detached)
22543.pts-24.moe    (09/27/2009 11:50:56 AM)    (Detached)
22228.pts-16.moe    (09/27/2009 11:49:59 AM)    (Detached)

我怎么会收出基于时间标准多屏?例如,所有的屏幕下午12:00之前启动。我通常键入:

    screen -dr 22649.pts-28.moe
    exit
    ...

和手动关闭每一个出,但这是乏味的。由于事先。

有帮助吗?

解决方案

可以使用-X参数发送命令到一个屏幕。因此,你可以通过说“屏幕-S 22649.pts-28.moe -X退出”关闭的命令行的屏幕。

要通过一次选择画面,我想你要运行脚本的时间进行比较。

我个人time.strptime()在python使用os.popen()和

其他提示

下面是我如何杀死所有的分离屏幕:

screen -ls | grep Detached | awk -F" " '{print $1}' | xargs -I{} screen -X -S {} kill

如果你想强行杀死所有的屏幕,只是改变上面grep Detached grep tached。对我的作品全部铲头,至少是!

为时间标准,则可以使用此启动:

screen -ls | grep Detached | awk -F " " '{print $2,$3,$4","$1}'

此打印是这样的:

(01/03/2012 02:10:42 AM),4504.test2
(01/03/2012 02:10:12 AM),4445.test1
(01/03/2012 02:02:58 AM),4333.test0

,其中第一组是时间戳和由逗号分隔,是PID.name。

所以你可以使用/管道awk(或awk -F"," '{print $1}'准确地仅提取时间戳,在括号内)再次解析括号内的时间..记住,screen -ls总是列出了最早的屏幕上!

我还没有想出怎么办时间标准筛选我自己,我会在未来,如果我能编辑这个..好运哥们!

点(22649在你的例子)之前的数字是屏幕进程的PID。只是杀死它(kill 22649

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top