• ベストアンサー

シャットダウン後に実行されるプログラム

linuxでshutdown -h nowかhaltまたはinit 0などでシャットダウンした後すぐに(0.1秒後くらいに)実行したいプログラム(スクリプト)があるのですが、どのファイルに書けばよろしいでしょうか?そもそもそのようなことはできますでしょうか? ご存知の方、宜しくお願いします。

noname#46712
noname#46712

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

シャットダウン コマンドを入力した直後に実行したいということですよね? UNIX/Linux で shutdown -h now や init 0 を実行すると、 rcスクリプトというものが実行されます。 (起動時も同様です。) rcスクリプトが置かれている場所に実行したいスクリプトを置けば実行されます。 「inittab linux」(or UNIX)で Web検索すれば出てきます。 私が UNIX/Linux を使っていた頃はテキストエディタでスクリプトを書き、 CUI(コマンドライン)でスクリプトを所定の位置に置いていましたが、今は GUI を使って登録するのかもしれません。 参考になりましたら幸いです。

その他の回答 (1)

回答No.2

シャットダウン後ではなく、ログアウト後なら以下のようなコマンドがある。 【 nohup 】 ログアウトした後もコマンドを実行し続ける http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230850/

関連するQ&A

  • シャットダウンスクリプトを実行するかどうか選択可能にする

    マシンをシャットダウンする時、ローカルコンピュータポリシーに設定された シャットダウンスクリプトを実行するかどうか選択する仕組みを作ることはできないでしょうか? やりたいことは以下です。 ・毎日PCの電源を切るときにスクリプトを実行したい ・それは、ログオフしてシャットダウンする前(シャットダウンスクリプトのタイミング)で実行したい ・ただしそのスクリプトは時間がかかる ・業務中にシャットダウン(or再起動)した時には、スクリプトを実行したくない ・1日の終わりにシャットダウンしたときだけスクリプトを実行したい 方向性としては2つあると思っております。 【方向性1】 業務中のシャットダウン(or再起動)は、スタート→シャットダウンで実行する。 帰宅前のシャットダウンでは、用意してあるスクリプトを実行してシャットダウンする。 そのスクリプトでは、シャットダウンスクリプトを設定してからシャットダウンする(shutdown.exe) スタートアップスクリプトでは、シャットダウンスクリプトが設定されていれば、その設定を解除するようにしておく。 → <質問1>スクリプトでシャットダウンスクリプトを設定/解除する方法が分かりません。 【方向性2】 <質問2>シャットダウンスクリプトを実行するかどうか選択してシャットダウンする方法が存在する? 環境 : Windows XP Pro XP3 <質問1><質問2>をご存知の方、ご教授お願いします。 また、上記以外の方向性で実装できる手段がありましたら、同じくご教授お願い致します。

  • Win10上のUbuntuのシャットダウンの仕方

    Windows10 Ubuntu シャットダウンの仕方 Windows10にはWindows Subsytem for Linux(WSL)と呼ばれるLinux環境があり、 Windows Subsystem for Linux(Linux用Windowsサブシステム)を有効にして、 Microsoft StoreからUbuntu 20.04 LTSをダウンロードしてインストールしました。 起動して表示されたコマンドプロンプトで ユーザー名とパスワードを入力後、 yy@PC1:~$と表示されてコマンド待ちになった状態です。 ここで、シャットダウンするために、 shutdown -h nowを実行すると System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down と表示されます。 suと入力すると パスワードを聞いてきますが、 自分のパスワードを入力すると su: Authentication failure と表示されます。 スーパーユーザーのパスワードは設定していませんが 何なのでしょうか。 sudo su -と入力すると、 自分のパスワードを聞いてくるので 自分のパスワードを入力すると プロンプトが yy@PC1:~$ から root@PC1:~# に変わったので、 shutdown -h nowを実行すると System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down Failed to talk to init daemon. と表示されます。 Ubuntuはまったくはじめてなので基本的な使い方がまったく分からないのですが、 シャットダウンをするには、 どのようにすればよいのでしょうか。 よろしくお願いします。 (Windows10 ,Ubuntu 20.04.2 LTS)

  • RHEL3でシャットダウン時、/varがunmountされない

    RHEL3でシャットダウン(init 0/shutdown -h now)やリブート(init 6/reboot)実行時に、終了ステータスが表示されるが、その際、/var が「busy」状態で正常にアンマウントできないと表示される。 ただし数回リトライした後、強制的にアンマウントされている。 この現象を回避し正常に終了させたいのですが、手詰まり状態です。 ちなみに発生は毎回ではなく、且つ発生した場合の対象パーティションは、いつも/varのみです。 またインストール直後に、RHNを行ったぐらいで特にアプリケーションを動かしている訳ではありません。 この回避方法をご存知の方、大変申し訳ないですが、お知恵を貸して下さい。 よろしくお願いします。

  • 自動電源オフ

    izumoです、お世話になります。 ターボリナックス6.1を使用しているのですが、 shutdown -h now で、自動的に電源が切れないのです。 コマンドを実行すると、デーモンの停止が出た後に power down と、出てとまります。このあと、主導で電源を切らないといけないのですが、これでは少々困るのでして。 kernelは、2.2.15-8からTurboLinuxのHpからダウンロードしたRPMで2.2.18-10にアップしています。(rpm -Uvh *.rpm としました。その他設定無し。) 同HPにて、調べると/etc/rc.d/init.d/halt に変更を加えると、あるので確認したところ、変更の必要はありませんでした。(command="halt -p"の行) apmのインストールは済です。BIOSは確認はしてあり、同じBIOS設定のwindows機は電源が切れます。 そのた、補足すべきことがありましたら、要求してください。 ※テスト用マシンでは、windows2000とlinuxが共存しており、windowsはシャットダウンで電源は切れます。この、Linuxも上記Linuxとほぼ同じ環境ですが、やはり電源は切れません。(この、テストマシンは上記のマシンとは全くの別物です。) 長くなりましたが、よろしくお願いします。

  • 任意のプログラムを終了させてからシャットダウンプログラムを走らせるには?

    すいませんが、質問させていただきます。 現在Windows XPにて他のサイトにあった「poweroff.vbs」 --------- Set objSystemSet = GetObject("winmgmts:{impersonationLevel=impersonate,(Shutdown)}").InstancesOf("Win32_OperatingSystem") For Each objSystem In objSystemSet objSystem.Win32Shutdown 8 Next) --------- を、使用しタスクで自動シャットダウンをしていますが、 シャットダウンをさせるより先に任意のプログラム(.exe)を終了させてから上記の「poweroff.vbs」を実行するにはどうしたらいいでしょうか? このプログラムに何か記述を追加すれば良いのか、そのほかの方法があるのか、わかりません。ご回答をお願い致します。 因みに私はプログラムに関しては無知なので、わかりやすくお願い致します。

  • シャットダウンバッチがうまく動きません。

    WindowsXP Pro SP2の環境です。 タスクで決まった時刻にシャットダウンをかけたいと思い、 バッチファイルを作成しました。 内容は単純で 「shutdown /s /t 0」の一行のみです。テキストで書いた後、拡張子を「bat」に変更。試しに起動させてみたところ、 ものすごい勢いで繰り返しその行が表示されていきますが、シャットダウンはされません。 「shutdown /s /t 0」 「pause」 と記入して、再度実行してみても停止されることもなく延々と同じ 最初の一行が表示されていきます。 「shutdown /s /t 0」を「名前を指定して実行」にいれてやってみると ちゃんとシャットダウンされます。 いったい何が原因なのでしょうか? 再起動をかけてみても状況は変わりません。 解決方法がご存知の方いらっしゃいましたら、ぜひご教示ください。 よろしくお願いいたします。

  • Win7シャットダウン時のプログラム実行がされない

    Windows7のシャットダウン時に バックアッププログラムを実行したいと思います。 バッチプログラムを作り単体では正常に動きました。 グループ・ポリシーを使って、コンピュータの終了時にコマンドを実行する http://www.atmarkit.co.jp/fwin2k/win2ktips/455cexec/cexec.html を参考にして、シャットダウンのローカルグループポリシーに 登録しても、実行がされません。 時間のかかるバックアップではなく、テキストファイルのコピーのような 簡単なバッチを作って試してみたところ WindowsXPでは、シャットダウンの途中でバッチが実行されましたが Windows7では、実行されないとわかりました。 gpupdate /force も実行してみましたがWindows7では バッチが動いてくれません。 Windows7では何か設定が必要なのでしょうか?

  • ubuntu アップグレードしてシャットダウン

    ubuntu で一度に、アップデートして、アップグレードして、シャットダウンするコマンドの記述を教えてください。 sudo apt-get update ; sudo apt-get upgrade -y ; sudo shutdown -h now このコマンドだと、sudo が何度も出てきて冗長だし、shutdown コマンドのころには、最初にsudoを実行した時のパスワードの有効時間が超過して再度パスワードを求められた気がします。 sudo (apt-get update ; apt-get upgrade -y ; shutdown -h now) このように()でくくったら文法エラーになった気がします。

  • PCをシャットダウンさせるプログラム

    WindowsフォームアプリケーションでPCをシャットダウンさせるプログラムを製作中です。 プログラムソフトはVisual C++ 2008を使用しています。 フォーム上のボタンをクリックしたらシャットダウンさせるものです。 コンソール用の以下のコードをそのまま追加するとリンクエラーがでます。 int ShutDown(){ HANDLE hToken; TOKEN_PRIVILEGES TokenPri; if(OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken) == FALSE){ return FALSE; } if(LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &TokenPri.Privileges[0].Luid) == FALSE){ return FALSE; } TokenPri.PrivilegeCount = 1; TokenPri.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hToken, FALSE, &TokenPri, 0, (PTOKEN_PRIVILEGES)NULL, 0); if(GetLastError() != ERROR_SUCCESS){ return FALSE; } ExitWindowsEx(EWX_SHUTDOWN, 0); return 0; } リンクエラーは、 error LNK2028: 未解決のトークン (0A00000F) "extern "C" int __stdcall ExitWindowsEx(unsigned int,unsigned long)" (?ExitWindowsEx@@$$J18YGHIK@Z) が関数 "private: int __clrcall timer_bata::Form1::ShutDown(void)" (?ShutDown@Form1@timer_bata@@$$FA$AAMHXZ) で参照されました。 他3つになります。 コンソール用のシャットダウン実行ファイルをWindowsフォームアプリケーションから外部コマンドを呼び出す形ではできたのですが、一つの実行ファイルにまとめることができません。どうしたらよろしいでしょうか。

  • Ubuntu10.04で自動でシャットダウン

    困ってます。 初めてUbuntu10.04を使いはじめたのですが、自動でシャットダウンさせるようcornを使ってるのですが、自動でシャットダウンしません。 現状 Ctrl+Alt+tにて、テキスト画面を開き、sudo gedit /etc/crontabを実行。入力画面を1番下の行に00 18 * * * root /sbin/shutdown -h nowを追記し保存しましたが、初日に実行されませんでした。 crontab -l で確認しましたが、追記はされているように思います(添付写真)。 なぜ実行されないのでしょうか。