我想在 Raspberry Pi 上的 Java 可执行 jar 中运行以下脚本。
脚本(=stream.sh):
#!/bin/sh
raspivid -fps 25 -w 640 -h 360 -vf -n -o - -t 999999 |cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/cam.sdp,rtcp-mux}' :demux=h264
Java 代码:
Runtime.getRuntime().exec("sh stream.sh"));
问题是 jar 必须使用 sudo 运行,而 vlc 命令不接受 sudo。脚本或 Java 代码都不包含 sudo,但当 jar 作为 sudo 执行时,vlc 仍然给出错误“VLC 不应以 root 身份运行...”。
使脚本在 jar 内以用户模式运行的最简单方法是什么?
最佳答案
我会使用 su -l $LOGIN -c $CMD
或 sudo -u $LOGIN $CMD
。
关于java - 如何在以 root 身份执行的可执行 jar 内以用户模式运行脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20330793/