« | »

2009年1月14日

MACのOSX 10.5でシャットダウン時にプリンタのジョブを消す

MAC OSXをWindowsドメインで運用したりしてマルチユーザーで使っている場合、当然プリンタも共有なので、前のユーザーが印刷に失敗したジョブが残ったままだと、次の人がそのジョブを消せずに印刷できないことになる。
いちいち管理者ユーザーがログインして消すのも手間なので、シャットダウン時にそのジョブを消すために、cupsのスプーラーをクリアするよう以下のようなスクリプトを書いた。

rm -f /var/spool/cups/*
rm -f /var/spool/cups/cache/*
rm -f /var/spool/cups/cache/rss/*
rm -f /var/spool/cups/tmp/*

しかしSolarisやらLinuxと違ってランベルの概念がないMACなのでどこからこのコマンド郡を呼び出せば良いのかわからない。
ということで調べてみた。


ネット上の情報によるとMAC OSX 10.4では「/etc/rc.shutdown」がシャットダウン時に実行されるらしいけど、10.5ではそんなファイルはないし、新規作成しても実行されない。
ダメ元で「/etc/rc.shutdown」から呼ばれるらしい「/etc/rc.shutdown.local」に書いてみるとなぜかちゃんと実行された。
ということで、MACのOSX 10.5でシャットダウンスクリプトは「/etc/rc.shutdown.local」となるようだ。
OSX 10.4では「/etc/rc.shutdown」から呼ばれるこのスクリプトが、10.5ではどこから呼ばれているのか激しく謎である。
色々探してみたけど結局見つからず。恐らく前バージョンまでの互換性を保つために「/etc/rc.shutdown.local」の扱いを残しているだけと推測されるので、次期バージョンではこのコマンドは実行されないかもしれない。
そうなれば、ここに書いた情報も何の役にも立たなくなるのであった…
バージョンを上げるのは良いけど、マイナーバージョンアップでこう言ったレガシーな仕様がコロコロ変わるのは、直ぐに知恵や知識が陳腐化するので微妙やなぁとおもったけど、MAC OSXをUNIX風OSとしてレガシーに使うことの方が微妙なのだと言うことにちょっとだけ気づいた。

Trackback URL

Comment & Trackback

No comments.

Comment feed

Comment





XHTML: You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>