SLES12:特定のユーザーでプロセスを実行する方法は?

SLES12:特定のユーザーでプロセスを実行する方法は?

特定のユーザーを対象にプロセスを実行したいと思います。

RHEL 7では、以下を使用してこれを達成できます。

source /etc/rc.d/init.d/functions
daemon --user=myuser $JAVA_HOME/bin/java -cp $appClassPath $MAIN_CLASS

SLES12で同じ動作を達成するにはどうすればよいですか?/etc/rc.d/init.d/functionsSLES12では、デフォルトでは機能は使用できません。

答え1

SUSE では、LSB start_daemon を使用すると予想しています。 (https://en.opensuse.org/openSUSE:Packaging_init_scripts)。
しかし、システム化時代にも存在し続けるのか、それともすぐに段階的に廃止されるのかは不明です。
もちろん、systemdシステムで推奨されるアプローチはsystemdユニットを作成することです。

runuserそうでない場合は、sudoやsudoなどの基本的なツールを使用してくださいsu。これは、コマンドライン実行権限を持つすべてのユーザーとして呼び出すことができるという点で便利です。
これらのラッパーからプログラムを背景化して分離(または実行)します。 nohupの助けが必要な場合があります。
これは標準に適合し、廃止されたinitシステムインフラストラクチャと組み合わせることはできません。

関連情報