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

일반 쉘 스크립트를 사용할 수 있습니다.

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

(죄송합니다. 잘 모르겠습니다 expect. 간단한 해결 방법입니다.)

관련 정보