相关疑难解决方法(0)

如何延迟在后台运行命令?

有人可以告诉我如何制作程序来执行此操作:5 分钟后

echo "80" > /sys/class/leds/blue/brightness
Run Code Online (Sandbox Code Playgroud)

我希望这个程序在后台运行(比如rngd服务)我不能这样做,因为我对 Linux 不太了解。

linux android

46
推荐指数
3
解决办法
8万
查看次数

使用 && 和 ; 执行多个命令的区别

使用&&和执行多个命令有什么区别;

例子:

echo "Hi\!" && echo "How are you?"
Run Code Online (Sandbox Code Playgroud)

echo "Hi\!"; echo "How are you?"
Run Code Online (Sandbox Code Playgroud)

shell bash

43
推荐指数
1
解决办法
3万
查看次数

我怎样才能让用户将一个过程优先考虑为负面的好感?

我希望用户在系统上运行具有负的 nice 值的特定进程。我不能简单地将进程分叉到后台,因为这个特定程序是一个 minecraft 服务器,我依靠命令行来控制服务器。

我当前的 bash 脚本如下所示(重要部分):

sleep 10 && \
sudo renice -n $NICENESS $(ps -u $(id -u) -o "%p:%c" | sed -n "s/:java$//p") & \
java -Xmx8G -Xms2G -jar minecraft_server.jar nogui    
Run Code Online (Sandbox Code Playgroud)

sleep只是延迟renice. renice它本身ps用于使用用户自己的 ID 检查 java 进程。在不同的用户下可能有其他 java 生成实例,但 minecraft 服务器在其自己的用户minecraft下运行。

我显然不想每次启动服务器时都输入密码。
来自/etc/sudoers

minecraft ALL = NOPASSWD: /etc/renice
Run Code Online (Sandbox Code Playgroud)

有没有更优雅的方法来做到这一点?简单地使用nice不是一个选项,sudo nice bash结合NOPASSWD:选项将是一个很大的安全问题。

process limit not-root-user nice

14
推荐指数
1
解决办法
5551
查看次数

标签 统计

android ×1

bash ×1

limit ×1

linux ×1

nice ×1

not-root-user ×1

process ×1

shell ×1