【问题标题】:How to quit a "screen" process with an apple script?如何使用苹果脚本退出“屏幕”进程?
【发布时间】:2014-12-20 15:08:24
【问题描述】:

要结束屏幕进程,您应该输入:

ctrl-a
ctrl-\
y

但是如何使用苹果脚本向终端发送 ctrl 命令?

【问题讨论】:

  • 这实际上是一个可能有用的问题(我把它连根拔起);但是你知道你可以从 within 终端运行脚本,而不是尝试编写 Terminal.app 脚本吗?
  • 是的,我知道,但我正在制作一个带有 gui 的应用程序,用于与串行设备通信,并且我想创建一个“断开连接”按钮。

标签: terminal applescript gnu-screen


【解决方案1】:

这应该可以解决问题:

do shell script "{ killall SCREEN; killall screen; :; } &> /dev/null"

请注意,这将杀死所有屏幕实例,以防有多个正在运行。

我不知道这样做是不是有点过头了,但我有时会看到我使用 screen 时会出现全大写进程,所以这只是确保覆盖所有碱基。冒号表示“什么都不做”,因为它总是返回错误代码 0(表示没有错误),它可以防止 AppleScript 在屏幕未运行时可能会抱怨错误(否则,您必须将命令包装在 try ...结束尝试)。重定向到 /dev/null 也是如此,因此您不会听到无关紧要的错误。

您还可以使用 GUI 脚本自己模拟击键(请参阅 http://www.macosxautomation.com/applescript/uiscripting/)。这是更多的工作,不太可靠,所以我只做上面的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 2017-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多