首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用java.lang.ProcessBuilder运行根目录命令

使用java.lang.ProcessBuilder运行根目录命令
EN

Stack Overflow用户
提问于 2019-05-23 22:41:23
回答 1查看 660关注 0票数 0

在Linux机器上运行的Java应用程序(特别是Ubuntu18.04)上使用java.lang.ProcessBuilder,可以做些什么来使执行的命令能够运行并且不会抛出权限被拒绝的

代码如下:

代码语言:javascript
运行
AI代码解释
复制
boolean isWindows = System.getProperty("os.name")
                    .toLowerCase().startsWith("windows");
            ProcessBuilder builder = new ProcessBuilder();
            if (isWindows) {
                builder.directory(new File(System.getProperty("user.home")));
                builder.command("cmd.exe", "/c", command);
            } else {
                builder.directory(new File(System.getenv("HOME")));
                builder.command("sh", "-c", command);
            }
            Process process = builder.start();
EN

回答 1

Stack Overflow用户

发布于 2019-05-24 00:19:22

在Ubuntu 18.04上测试:

代码语言:javascript
运行
AI代码解释
复制
import java.io.File;

    public class Application {

        public static void main(String[] args) throws Exception{
            boolean isWindows = System.getProperty("os.name")
                    .toLowerCase().startsWith("windows");
            ProcessBuilder builder = new ProcessBuilder();
            if (isWindows) {
                builder.directory(new File(System.getProperty("user.home")));
                builder.command("cmd.exe", "/c", "");
            } else {
                builder.directory(new File(System.getenv("HOME")));
                // i used the docker command as an example, because it needs a root access (default configuration of Docker)
                builder.command("/bin/bash", "-c", "sudo docker image ls > result.txt 2> errors.txt");
            }
            Process process = builder.start();
            // When running the command java Application in terminal, i noticed that when prompted to type the root password
            // the program exits so i decided to make the current thread sleep for 5 seconds, to give me time to type the password
            Thread.sleep(5000);
        }
    }

希望这将对您有所帮助:)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56283774

复制
相关文章
Python中的闭包问题
像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。
卡尔曼和玻尔兹曼谁曼
2019/01/25
1K0
Python 包安装和 postgresql 的一些问题
今天安装 hgvs 这个 python 包的时候,遇到几个比较有代表性的问题,记录分享一下。
章鱼猫先生
2021/10/15
1.4K0
Python 包安装和 postgresql 的一些问题
Python的包与模块导入问题
1、ValueError: attempted relative import beyond top-level package 2、ModuleNotFoundError: No module named 'testpkg'
零分影魔
2020/08/27
2.5K0
小议Python的模块和包
模块和包是比类更高一级的代码封装和复用,通过把相似的代码组织在一起使用,可以大量的减少程序的耦合。对于每个模块都有所谓的内部和外部之分,从这种角度来看,模块很像一种类,模块内部的代码属于模块的私有成员,由模块控制,对外暴露接口给外部使用。
哒呵呵
2018/08/06
6320
Python中的模块和包
模块可以包含可执行的语句和函数的定义,这些语句的目的是初始化模块,它们只在模块名第一次遇到 导入import语句时才执行(import语句是可以在程序中的任意位置使用的,且针对同一个模块很import 多次,为了防止你重复导入)
星陨1357
2023/03/14
8040
Python 模块和包
注意 如果 两个模块,存在 同名的函数,那么 后导入模块的函数,会 覆盖掉先导入的函数
Devops海洋的渔夫
2019/06/02
9880
Python模块和包
import的作用是在一个文件中导入模块。这看起来有点像C/C++语言中的#include操作。但是python的导入和C/C++的#include是完全不一样的。在python中,导入并非只是把一个文件文本插入另一个文件这么简单,导入实际是运行时的操作。(在C/C++中#include是将别的源代码内容插入到所指定的位置,就是这么简单,这就是C/C++编译器在预处理阶段对#include进行的操作)
zy010101
2022/05/05
5090
Python模块和包
python模块和包
一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py 的后缀。
超蛋lhy
2018/08/31
1.4K0
python关于多级包之间的引用问题
首先得明确包和模块。 包:在一个目录下存在__init__.py,那么该目录就是一个包。 模块:一个.py文件就是一个模块。 我们可以通过from 包 import 模块来引入python文件, 也可以使用from 包.模块 import 模块中的函数或类。 具体看一下例子。 假设我们现在有以下的目录:
西西嘛呦
2021/08/24
7990
Netty进阶之粘包和拆包问题
发送端为了将多个发给接收端的数据包,更有效地发送到接收端,会使用Nagle算法。Nagle算法会将多次时间间隔较小且数据量小的数据合并成一个大的数据块进行发送。虽然这样的确提高了效率,但是因为面向流通信,数据是无消息保护边界的,就会导致接收端难以分辨出完整的数据包了。
java技术爱好者
2020/09/22
1.3K0
Netty进阶之粘包和拆包问题
CocoaAsyncSocket + Protobuf 处理粘包和拆包问题
      在上一篇文章《iOS之ProtocolBuffer搭建和示例demo》分享环境的搭建, 我们和服务器进行IM通讯用了github有名的框架CocoaAsynSocket, 然后和服务器之间的数据媒介是ProtoBuf。然后后面在开发的过程中也碰到了拆包和粘包问题,这方面网上资料很少,曲折了一下才解决,这里分享一下问题的解决过程!
tandaxia
2018/09/27
1.9K1
CocoaAsyncSocket + Protobuf 处理粘包和拆包问题
python闭包详解_python闭包主要解决什么问题
首先了解一下:如果在一个函数的内部定义了另一个函数,外部的我们叫他外函数,内部的我们叫他内函数。 在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用。这样就构成了一个闭包。
全栈程序员站长
2022/09/19
4900
python的装饰器和闭包
因为在编译时,python会认为b是局部变量,这是python的一个设计选择,为了避免变量的污染,想一想。如果某人在函数内部改动了变量,你没有办法看到这个函数,
哒呵呵
2018/08/06
3510
Python和Scala里的闭包
在函数式编程里,闭包(closure)是绕不过的话题,它的实现基础来源于变量作用域和一等函数。也正是因为如此,我们可以进一步把代码块抽象,Python也诞生了装饰器。
哒呵呵
2018/08/06
8630
Python的闭包和装饰器
装饰器(Decorator)相对简单,咱们先介绍它:“装饰器的功能是将被装饰的函数当作参数传递给与装饰器对应的函数(名称相同的函数),并返回包装后的被装饰的函数”,听起来有点绕,没关系,直接看示意图,其中 a 为与装饰器 @a 对应的函数, b 为装饰器修饰的函数,装饰器@a的作用是:
Debian中国
2018/12/20
5210
盘点一个Python导包的问题
前几天在Python白银群【王者级混子】问了一个Python导包的问题,这里拿出来给大家分享下。
前端皮皮
2023/08/17
1450
盘点一个Python导包的问题
「容器云」Docker和Alpine的包固定问题
作为Alpine Linux的超级粉丝,我在很多构建的Docker镜像中都使用了它。生成的镜像非常小,非常小,非常适合Dockers环境。
架构师研究会
2019/12/26
1.2K0
python之模块和包
一 Python模块简介 1 模块化 一般来说,编程语言中,库,包,模块是同一种概念,是代码组织方式 python中只有一种模块对象类型,但是为了模块化组织的便利,提供了一个概念: 包 模块(module):指的是python的源代码文件 包(package):指的是模块组织在一起放入和包名同名的目录及相关文件 ---- 可以将代码量较大的程序分割成多个有组织,彼此间独立但又能互相交互的代码片段,这些自我包含的有组织的代码段就是模块 ---- 模块在物理形式上表现为以.py 结尾的代码文
py3study
2020/01/09
1.5K0
python之模块和包
如何解决Python包依赖问题
以简洁高效(指编程较为高效, 而不是运行速度)出名的Python, 在包依赖问题上有时候让人挠头.
benny
2018/07/26
2.2K0
如何解决Python包依赖问题
点击加载更多

相似问题

python包和测试的问题

21

设置Kubernetes并支持Kubespray和windows worker

11

Python:包的问题

26

JModelica: Python和IPython导入包的问题

10

Python:包的问题

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文