使用expect自动创建at作业

使用expect自动创建at作业

我正在尝试编写一个脚本,该脚本需要时间和进程名称并将它们传递给 at 来安排作业。我无法发送 EOT。

    #! /usr/bin/expect
    # Usage: setupkill.exp time process.
    # press ctrl-D to finish the at command.

    set time [lindex $argv 0]
    set process [lindex $argv 1]

    spawn at $time
    expect "at>"
    send "/home/jagan/p/killprocess $process\r";
    expect "at>"
    send "^D";

    interact

该脚本旨在在给定时间终止特定进程。

答案1

您可以像这样发送 ctrl-D:send "\004"

答案2

您可以使用简单的 shell 脚本:

#! /bin/sh
# Usage: setupkill.sh time process.
echo /home/jagan/p/killprocess "$2" | at "$1"

(抱歉,我不知道,expect所以这只是一个简单的解决方法。)

相关内容