Как я запускаю процесс с хорошего значения-20 и не даю ему полномочие пользователя root?

Если я интерпретирую Вас правильно, Вы более или менее спрашиваете, "Как дергать конкретную строку, не перемещая курсор в энергию?", за исключением того, что Вы только хотите часть запуска и конечных строк. Например, с этим экраном (включенные номера строки):

1   12345abcdefg
2   hijklmnopqrs
3   tuvwxyz123
4
5
6   foo _ baz

... цель состояла бы в том, чтобы скопировать только буквы алфавита в позицию курсора (_), промежуточное "нечто" и "baz", не перемещая курсор. Это правильно?

Если бы Вы хотели числа также, и Вы хотели вставить его выше текущей строки, то ответ мог бы быть :1,3yВойдите, затем P. Но Исключая командами только работают над целыми строками - нет никакого способа сказать :y управляйте для дергания части строки.

Вы могли попытаться играть в игры с удалением частей, которые Вы не хотите. Но если бы это был я, то я шел бы вперед и переместил бы тот курсор, потому что я могу легко переместить его назад использование маркера и команды одинарной левой кавычки: ma (маркер "a" местоположения набора; используйте свою любимую букву), 1G 5l (переместитесь для выравнивания 1 столбца 6), v (characterwise визуальный режим), 3G 6l, y. Затем ''a(jump to mark "a") andP', и мы сделаны.

Кстати, если Вы хотите перейти в конец блока, Вы просто вставили, можно использовать'']'.

18
18.04.2013, 22:39
6 ответов

Я обычно запускал бы его и использовал бы "renice" впоследствии...

Однако я смог сделать быстрый взлом вместе с "su", который работает:

sudo хороший-n-20 su-c command_to_run user_to_run_as

(Если Вы не должны давать sudo пароль - возможно, потому что Вы уже только что дали его - можно добавить "и" помещать все это в фоновом режиме.)

Так как Вы уже становитесь корнем с sudo-командой, su не попросит у Вас пароля. Я смог запустить X-программу с эмулятора терминала под X. Если Вы захотите выполнить X-программу как другой пользователь, чем пользователь, владеющий X-сессией, то необходимо будет, вероятно, явно сказать X позволять ее (откройтесь для X-клиентов от того пользователя).

21
27.01.2020, 19:45
  • 1
    . Таким образом, я думаю способ, которым я фигурировал, был единственный способ сделать о. –  Lord Loh. 19.04.2013, 05:46

Поскольку @jordanm сказал отбрасывание sudo. Вы можете хороший Ваши собственные процессы для предоставления им более низкого приоритета:

nice -20 matlab

Нет sudo.

2
27.01.2020, 19:45
  • 1
    Это не работало. system('ps a -o pid -o comm -o nice') получил меня 13580 MATLAB 19 - MATLAB работает с самым низким приоритетом вместо самого высокого. Мой вопрос шел, как увеличить приоритет и не уменьшить его. –  Lord Loh. 19.04.2013, 02:47
  • 2
    Без a sudo, это - правильная команда - nice -n -20 matlab и это - вывод nice: cannot set niceness: Permission denied. Matlab запускает, и хорошее значение 0. –  Lord Loh. 19.04.2013, 02:51
  • 3
    OP хочет не, увеличивают приоритет (отрицательный хороший), т.е. "хороший - 20 mathlab" (дважды-) в старой нотации, "хороший-n-20 mathlab" в новом. Только корень может использовать отрицательные хорошие значения. –  Baard Kopperud 19.04.2013, 04:15
  • 4
    CAP_SYS_NICE также позволил бы OP делать это без полномочий пользователя root, но включает копание в поддержке Linux (что-то не, много людей понимает и могло бы быть большим количеством работы, чем это стоит). Я просто упоминаю это ради полноты. –  Bratchley 19.04.2013, 15:21
  • 5
    stackoverflow.com/questions/7635515 / … –  Lord Loh. 20.04.2013, 16:45

pam позволяет Вам устанавливать пределы для хорошего на группу его конфигурационный файл:

@grnice трудный приоритет-20

@grnice трудно хорошие-20

И удостоверьтесь группа выполнения процесса в grnice.

1
27.01.2020, 19:45

Еще один шаг @ Джордан, Вот элегантное решение против sudo nice -n -xx su <имя пользователя> -c matlab hack

Примечание: Используя имя пользователя=sid, matlab meta-data dir=/var/lib/matlab, nice=-10 change at your will

  1. Create matlab meta-data dir(PERPARE)

    sudo mkdir /var/lib/matlab

  2. Add specified user to run matlab & right persimisson

    sudo useradd -d /var/lib/matlab sid
    sudo chown sid:sid /var/lib/matlab
  1. Set user(sid) password

    sudo passwd sid

  2. Append following to /etc/security/limits. conf

    sid - приоритет -10

  3. Setup & copy ssh-key to automate login(OPTIONAL)

    ssh-keygen -t rsa #following key passwd misc   
    ssh-copy-id sid@localhost #using sid's passwd
  1. Create matlab shell wrapper(fix silent fail ERR)
    sudo -i
    cat >/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
  1. Ajust's sid's login shell

    sudo usermod - s /usr/local/bin/wmatlab sid

  2. start matlab using ssh with Xforward

    ssh -X sid@localhost

9
27.01.2020, 19:45

Добавьте пользователя в sudoers (фактически, новый файл в /etc/sudoers.d, но это та же предпосылка):

niceuser ALL=NOPASSWD:/usr/bin/nice

Затем в качестве "niceuser":

niceuser@localhost $ sudo nice -n -10 command...

и он сделает то, что мне нужно (то есть , теперь мой пользователь может увеличить приоритет команды {command ...}). Он поддерживает несколько пользователей и т. д. - используйте man 5 sudoers для подробностей.

1
27.01.2020, 19:45

Я обнаружил, что это можно сделать, изменив файл /etc/security/limits.conf (по крайней мере, в некоторых дистрибутивах linux). В моем случае, я просто добавил

#<домен> <тип> <пункт> <значение> my_user - nice -20

затем вы можете выполнить

nice -n -20 matlab

9
27.01.2020, 19:45

Теги

Похожие вопросы