FC2ブログ

Mac OSでatコマンド, batchコマンド

atコマンドは指定した時間にプロセスを実行するコマンド。
batchコマンドはシステムへの負荷が少ない時にプロセスを実行するコマンド。

バックグランドで動くのでシェルをログアウトしても、パソコンさえ切らなかったら動くとか。。。(まだ未確認)

Linuxだとすんなり動いた。
しかしMacだと動かない…

yoggy's diaryに書かれているように、Macだとatrunがデフォルトでは動いてないらしい。

$ sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist
とすればatrunが動く。
これでatもbatchも使えるようだ(cronもかな?)

$ at now +3 minutes
>xterm -e tcsh -c 'ls; read line'
>Ctrl + d

として使用してみる。
xtermをtcshで開いてlsコマンド使用、その後readコマンドでlineに入る変数を読むというプロセスを渡している。
read lineがない場合、lsコマンドが実行された瞬間にxtermが落ちる。
read lineとすればEnterを入力するまでは結果が表示され続ける。
read lineの変わりにexec tcshとすればそのままtcshが残り続ける。

自分の場合、-mオプションをつける事で/var/mailに結果のメールが送られていた。


ついで
$ sudo -s
とすると、自分のSHELL変数に入ってるシェルで作業が出来る。
つまりsuコマンドと同じ効果。

Macではsuコマンドは使えない(設定で使えるようになるのか、知らないだけ?)ので、
通常のユーザー切り替えでは
$ su other_user

rootユーザーになる時は
$ sudo -s
でおk。

rootユーザーは高い権限が伴うので、自己責任で。

【Mac OS X】【at】【batch】【sudo】【su】
スポンサーサイト



コメント

非公開コメント

中野梓
プロフィール

dhythm

Author:dhythm
関西に住む大学院生。専攻は宇宙物理学。
専攻が宇宙物理学の理学修士。現在は社会人。
Mac, Windowsを併用。Linuxでサーバーマシンをたてる計画中。
使用言語 : C, Java, COBOL, Perl, Python, Object-C

社会の荒波にもまれながら、日々勉強中。

アクセスカウンター
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード