题
我一个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
)
不隶属于 StackOverflow