ソフトウェアコマンドでNI Linux Real-Timeデバイスをシャットダウンする

更新しました Jan 27, 2026

環境

ハードウェア

  • CompactRIO Controller
  • PXI Controller

オペレーティング・システム

  • LabVIEW Real-Time (NI Linux Real-Time)

このチュートリアルでは、ソフトウェアコマンドでNI Linux Real-Timeデバイスをシャットダウンする方法を二つ紹介しています。

システム実行関数

システム実行関数からLabVIEW内からLinuxの shutdown コマンドを使用してシステム電源をオフにすることが可能です。ただし、デフォルトではLabVIEWはこのコマンドを実行する権限を持たないため、shutdown 権限与えるために以下の方法で shutdown ユーザグループに lvuser を追加します。

  1. RTターゲットにPuTTYなどのアプリケーションからSSHセッションを開きます。
  2. 次のコマンドを実行する: usermod -a -G shutdown lvuser
  3. groups lvuser コマンドを使用して、shutdown コマンドが lvuser に追加されたことを確認します。
     
  4. RTターゲットを再起動し、変更を反映します。
  5. LabVIEW VIから shutdown コマンドを実行します。下図ではシャットダウン後に再起動させるために -r パラメータ、即時シャットダウンするため now が使用されています。
    再起動させる必要がない場合は、-P -h now パラメータを使用します。
     

必要がある場合、以下の手順で shutdown ユーザグループから lvuser を削除します。

  1. 次のコマンドを実行する: gpasswd -d lvuser shutdown
  2. RTターゲットを再起動し、変更を反映します。
  3. groups lvuser コマンドを使用して、shutdown コマンドが lvuser から削除されたことを確認します。
     

 

ライブラリ関数呼び出しノード

ライブラリ関数呼び出しノードを使用して、Linux Real-Timeデバイスに標準インストールされているライブラリglibcを呼び出すことができます。このライブラリ、libc.so.6は一般的な Linux ライブラリユーティリティで、一般的な Linux システムに標準的に搭載されています。デフォルトで lvuser はこのライブラリを実行する権限が与えられています。下図は、シャットダウンを行うサンプルプログラムです。このVIは、本記事に添付されています。

 

  • I32型の cmd パラメータを有する reboot 関数を呼び出しています。
  • コマンド 4321FEDC でデバイスをシャットダウンします。

上の例ではこのライブラリを参照するために、ライブラリ関数呼び出しノードでこのライブラリのSONAMEである「libc.so.6」を指定していますが、別の参照方法としてこのライブラリの絶対パスを指定することも可能です。絶対パスを指定する場合、ライブラリ名に libc.X.XX.so のような形でバージョン番号が含めて参照することが必要です。

使用する RT デバイスに格納されているライブラリバージョンは、下図の通り files > lib (ARM) or lib64 (Intel) > libc-x.xx.so から確認できます。

 

 

追加情報

NI Linux Real-Time デバイスにはフラッシュベースのハードウェアを搭載しているため、内部バッテリ残量がなくなる前にデバイスをシャットダウンすることを強くお勧めします。LabVIEW からLinux Real-Time コマンドラインにアクセスする方法の詳細については、NI Linux Real-Timeの内部を参照してください。

NI Linux Real-Time デバイスを、SSHを経由し以下の手順で手動でシャットダウンすることも可能です。