无法获取'get_root' 的文件状态(stat): 没有那个文件或目录
时间: 2023-09-25 13:14:42 浏览: 77
这个错误提示说明您尝试使用了一个不存在的文件或目录。可能的原因有:
1. 文件或目录确实不存在。请检查您的路径是否正确,并确保文件或目录已经存在。
2. 您没有访问该文件或目录的权限。请检查您的权限是否足够,并尝试使用`sudo`命令以管理员身份运行程序。
3. 您的程序错误地删除了该文件或目录。请检查您的程序代码,确保没有意外删除文件或目录的操作。
请您根据具体情况进行排查,并尝试解决该错误。
相关问题
static -pthread ./exploit.c -o ./exploit ./exploit.c: In function ‘spray_simple_xattr’: ./exploit.c:142:9: warning: implicit declaration of function ‘mkdir’ [-Wimplicit-function-declaration] 142 | if (mkdir("/tmp/tmpfs", S_IRWXU) == -1 && errno != EEXIST) | ^~~~~ ./exploit.c: In function ‘print_hex’: ./exploit.c:243:23: warning: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 2 has type ‘size_t’ {aka ‘long unsigned int’} [-Wformat=] 243 | printf(" %16llx",*(size_t * )(buf + i*8)); | ~~~~~^ ~~~~~~~~~~~~~~~~~~~~~~~ | | | | | size_t {aka long unsigned int} | long long unsigned int | %16lx ./exploit.c: In function ‘get_root_shell’: ./exploit.c:354:3: warning: null argument where non-null required (argument 2) [-Wnonnull] 354 | execve("/tmp/dummy", NULL, NULL); | ^~~~~~
根据您的问题描述,这似乎是一个编译警告信息,并不影响代码的运行。其中包括:
1. `implicit declaration of function ‘mkdir’` 表示您的代码中使用了mkdir函数,但是编译器没有找到该函数的声明,需要添加头文件`#include <sys/stat.h>`。
2. `format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 2 has type ‘size_t’` 表示在打印输出时使用了错误的格式标识符。应该将`%llx`改为`%lx`。
3. `null argument where non-null required (argument 2)` 表示您在`execve()`函数中使用了NULL参数,但该参数不能为NULL。您需要将第二个和第三个参数设置为合适的值。
请您检查一下代码并进行相应的修改,以消除这些警告信息。
Android 没有root权限如何获取CPU使用率
在Android设备上,即使没有root权限,你仍然可以使用Android API来获取CPU使用率。可以通过读取/proc/stat文件来获取CPU使用率信息。该文件包含了系统中各个进程以及CPU的使用情况,你可以通过分析该文件来计算CPU使用率。
具体来说,你可以使用以下步骤来获取CPU使用率:
1. 读取/proc/stat文件,获取CPU的总时间以及各个进程的时间信息。
2. 计算CPU的空闲时间和总时间,从而得到CPU的使用时间。
3. 计算CPU的使用率,即使用时间除以总时间。
以下是一个示例代码,用于获取CPU使用率:
```java
public class CpuUsageMonitor {
private static final String TAG = "CpuUsageMonitor";
private long lastCpuTime = 0;
private long lastUpdateTime = 0;
public float getCpuUsage() {
try {
FileReader fileReader = new FileReader("/proc/stat");
BufferedReader bufferedReader = new BufferedReader(fileReader);
String line;
while ((line = bufferedReader.readLine()) != null) {
if (line.startsWith("cpu ")) {
String[] cpuInfoArray = line.split("\\s+");
long userTime = Long.parseLong(cpuInfoArray[1]);
long niceTime = Long.parseLong(cpuInfoArray[2]);
long systemTime = Long.parseLong(cpuInfoArray[3]);
long idleTime = Long.parseLong(cpuInfoArray[4]);
long ioWaitTime = Long.parseLong(cpuInfoArray[5]);
long irqTime = Long.parseLong(cpuInfoArray[6]);
long softIrqTime = Long.parseLong(cpuInfoArray[7]);
long totalTime = userTime + niceTime + systemTime + idleTime + ioWaitTime + irqTime + softIrqTime;
if (lastCpuTime != 0) {
long deltaTime = totalTime - lastCpuTime;
long currentTime = System.currentTimeMillis();
long timeDelta = currentTime - lastUpdateTime;
float cpuUsage = (deltaTime * 100.0f) / (timeDelta * 1000.0f * Runtime.getRuntime().availableProcessors());
return cpuUsage;
} else {
lastCpuTime = totalTime;
lastUpdateTime = System.currentTimeMillis();
}
}
}
bufferedReader.close();
fileReader.close();
} catch (IOException ex) {
Log.e(TAG, "Unable to read /proc/stat", ex);
}
return 0;
}
}
```
在上述代码中,我们读取/proc/stat文件,解析出CPU的总时间以及各个进程的时间信息,然后计算出CPU的使用率。我们通过保存上一次读取的CPU时间和更新时间,来计算出两次读取之间的CPU使用时间。最后,我们将使用时间除以总时间,得到CPU的使用率。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)