使用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所以這只是一個簡單的解決方法。)

相關內容