-20이라는 좋은 값으로 프로세스를 시작하고 싶습니다. 이를 위해서는 다음과 같은 명령을 사용해야 합니다.
sudo nice -n -20 matlab
그러나 이것은 또한 MATLAB을 루트로 시작합니다. MATLAB을 루트가 아닌 사용자로 만드는 방법이 있습니까?
내 현재 접근 방식은
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 명령을 사용하여 루트가 되었기 때문에 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
아니요