時間とプロセス名を取得して 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
、これは単なる簡単な回避策です。)