相关疑难解决方法(0)

无法为Java进程设置LD_LIBRARY_PATH

我试图从shell脚本调用我的linux可执行文件.在调用此可执行文件之前,我想将LD_LIBRARY_PATH设置为具有特定值.我的shell脚本如下:

Parent.sh(包含2行)

   - source set_env.sh 
   - executable.so
Run Code Online (Sandbox Code Playgroud)

Set_env.sh

   - setenv LD_LIBRARY_PATH /proj/something
Run Code Online (Sandbox Code Playgroud)

从linux控制台手动执行Parent.sh scipt时,调用executable.so并正确设置LD_LIBRARY_PATH.但是在将它与java代码集成之后:

String[] commandArray ={"Parent.sh"};
Runtime runtime = Runtime.getRuntime();
Process javap = runtime.exec(commandArray);
javap.waitFor();
Run Code Online (Sandbox Code Playgroud)

没有为executable.so设置LD_LIBRARY_PATH

我希望描述清楚:)

请告诉我们代码中有什么不对.

java linux dll csh

5
推荐指数
1
解决办法
6826
查看次数

在无关的可执行linux中调用函数

如果我有一个指向函数的指针,并将其交给另一个(Unrelated/Child)可执行文件,如何在不进行段错误的情况下调用该函数?

目前我可以创建一个函数并为其分配这个内存地址:

Dim As Function (ByRef As String) As Integer MyFunction
' get pointer...
MyFunction = FunctionPointer
Run Code Online (Sandbox Code Playgroud)

但后来调用MyFunction我得到一个段错误(显然是因为我调用的函数是在另一个可执行文件的地址空间,我不允许访问)

我该如何解决这个/解决它?

linux zipcode function segmentation-fault

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

标签 统计

linux ×2

csh ×1

dll ×1

function ×1

java ×1

segmentation-fault ×1

zipcode ×1