-20という良い値でプロセスを開始したいです。これを行うには、次のコマンドを使用する必要があります。
sudo nice -n -20 matlab
しかし、これもMATLABをrootとして起動します。 MATLABをroot以外のユーザーにする方法はありますか?
私の現在のアプローチは
sudo nice -n -20 sudo -u myusername matlab
これは私にとってハッキングのようです。これを行う直接的な方法はありますか?
答え1
正常に起動してから「renice」を使用します...
しかし、「su」を使って素早くハッキングでき、成功しました。
sudo nice -n -20 su -c command_to_run user_to_run_as
sudoにパスワードを提供する必要がない場合(ただし、パスワードを提供したばかりの場合)、パスワードを追加してプロセス全体を&
バックグラウンドにすることができます。
sudoコマンドを使用してrootになったため、su
パスワードを要求しません。 Xの下のターミナルエミュレータからXプログラムを起動できます。 Xセッションを所有しているユーザー以外のユーザーとしてXプログラムを実行するには、Xセッションを許可するように明示的に指示する必要があります(そのユーザーのXクライアントに公開)。
答え2
ファイルを変更すると、これを行うことができることがわかりました/etc/security/limits.conf
(少なくとも一部のLinuxディストリビューションでは)。私の場合は、次のように追加しました。
#<domain> <type> <item> <value>
my_user - nice -20`
その後、実行できます
nice -n -20 matlab
ログアウトして変更を保存してもう一度ログインしてください/etc/security/limits.conf
。
これ回答理由を説明しました。
答え3
さらに一歩進む @Jordan: これはsudo nice -n -xx su <username> -c matlab
ハッカーのためのエレガントなソリューションです。
注:ユーザー名=
sid
、matlabメタデータdir =/var/lib/matlab
、nice =を使用してください-10
。 - 自由に変更してください。
- MATLABメタデータディレクトリの作成
sudo mkdir /var/lib/matlab
- MATLABを起動して権限を付与するには、指定したユーザーを追加します。
sudo useradd -d /var/lib/matlab sid sudo chown sid:sid /var/lib/matlab
- ユーザーパスワードの設定
sudo passwd sid
- 以下を追加します。
/etc/security/limits.conf
sid - priority -10
- 自動ログイン用のSSHキーの設定とコピー(オプション)
ssh-keygen -t rsa #following key passwd misc ssh-copy-id sid@localhost #using sid's passwd
- MATLAB シェルラッパーの作成 (修正済み)自動障害エラー)
sudo -i cat <<EOF >>/usr/local/bin/wmatlab #!/bin/bash -- # A wrapper to launch matlab /usr/local/MATLAB/<version>/bin/matlab -desktop EOF chmod +x /usr/local/bin/wmatlab
- 「sid」のログインシェルの調整
sudo usermod -s /usr/local/bin/wmatlab sid
ssh
withを使用してMATLABを起動するXforward
ssh -X sid@localhost
答え4
@jordanmが言ったように、sudoを削除します。プロセスを最適化して優先順位を下げることができます。
nice -20 matlab
sudo
いいえ