草庐IT

user_uuid

全部标签

c++ - Linux/C++ : getting user's directory without leaks

下面的代码只是试图读取用户的主目录,但存在内存泄漏,我做错了什么?staticstd::stringgetHomeDir(){structpasswd*pw=getpwuid(getuid());std::stringres(pw->pw_dir);endpwent();returnres;}valgrind提示:==32757==160(40direct,120indirect)bytesin1blocksaredefinitelylostinlossrecord42of48==32757==at0x402BB7A:malloc(in/usr/lib/valgrind/vgprelo

linux - Linux 中的调度 : run a task when computer is idle (= no user input)

我想运行Folding@home客户端仅在我的Ubuntu8.10机器闲置时才运行,因为该程序占用大量RAM。“空闲”是指没有用户事件(键盘、鼠标等)的状态。由于F@H具有最低的CPU优先级,因此此时运行其他(可能是繁重的)进程是可以的。重点只是为了提高用户体验,在无人使用机器时做繁重的工作。如何实现? 最佳答案 当有问题的机器是台式机时,您可以将启动/停止脚本挂接到屏幕保护程序,以便在屏幕保护程序处于非事件状态时停止进程,反之亦然。 关于linux-Linux中的调度:runatask

linux - copy_to_user 在 linux 内核版本 4.12.8 中未定义

在我的项目中,我使用字符驱动程序在用户空间和内核空间之间进行通信。我使用函数copy_to_user(voiduser*to,constvoid*from,unsignedlongn)将数据从内核空间复制到用户空间缓冲区。我们可以在#include下找到这个函数头文件。我使用Linux内核版本4.4.0-59-generic、UbuntuOS版本16.04LTS编译了这个项目,它工作正常,没有任何错误和警告。我得到了想要的输出。我使用Linux内核版本4.12.8、Ubuntu操作系统版本16.04.2LTS编译了同一个项目,它在编译期间向我发出警告WARNING:"copy_to_u

linux - USER_HZ 如何解决 jiffy 缩放问题?

据我了解,USER_HZ常量是在Linux2.6中添加的,以解决由用户空间中的HZ值期望引起的问题:在以前的版本中Linux,更改HZ值可能会导致用户空间应用程序中的值无意间缩放。我对USER_HZ常量如何解决这个缩放问题感到困惑。例如,假设用户空间应用程序将jiffies转换为秒:longMY_HZ=sysconf(_SC_CLK_TCK);/*num_jiffiesacquiredfrom/procbut*simplifiedto1000hereforclarity*/longnum_jiffies=1000;longnum_seconds=num_jiffies/MY_HZ;由于

Linux 内核 : copy_from_user - struct with pointers

我已经实现了某种字符设备,我需要有关copy_from_user函数的帮助。我有一个结构:structmy_struct{inta;int*b;};我在用户空间对其进行初始化,并使用“写入”函数将指向my_struct的指针传递到我的字符设备。在内核的空间字符设备“写入”函数中,我将它从*char转换为这种结构。我使用kmalloc为结构分配了一些内存,并向其中执行了copy_from_user操作。对于简单的'inta'没问题,但它只复制b值的指针(地址),而不是b指向的值,所以我现在在内核空间中,我正在使用指向a的指针用户空间内存。这是不正确的吗?我不应该直接访问用户空间指针,我必

python - 如何从 Linux 上的文件路径获取详细的设备/分区信息(如 UUID、硬盘序列号等)

从一个绝对文件路径开始,我想获取如下信息:存储文件的文件系统的挂载点(为了计算相对于挂载点的路径)文件系统的UUID和标签包含分区的硬盘驱动器的类型(或供应商名称)和序列号我知道在许多情况下2和3可能未定义(例如,对于环回、ramfs、加密设备),这完全没问题。我也知道如何使用shell和系统工具(如df)获取该信息和/sys或/proc文件系统。参见thisquestion供引用。但是,我正在寻找最简单的方法来使用Python3.5以编程方式执行此操作。这意味着:首选系统调用而不是解析/proc的内容或/sys(可能会发生变化或取决于内核配置?)避免调用子进程并解析它们的输出(繁琐的

c++ - 在 Linux 中生成随机 UUID

我陷入了一个奇怪的困境。我需要在我的Linux程序(我使用RPM分发)中生成UUID。我不想通过要求用户安装libuuid来向我的应用程序添加另一个依赖项(似乎libuuid不包含在大多数Linux发行版中,例如CentOS)。难道没有生成UUID的标准Linux系统调用(例如,在Windows中有CoCreateGuid)?uuidgen命令有什么用? 最佳答案 我错过了什么吗?你不能:cat/proc/sys/kernel/random/uuid 关于c++-在Linux中生成随机U

c - C的UUID库?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答它。关闭2年前。Improvethisquestion我正在寻找一个用于C语言编程的UUID库,它有合理的可能性在大多数现代Linux桌面上安装(或至少可由包管理器安装),并与pkg-config.以下两种可能性似乎最为明显:OSSPUUID来自e2fsprogs的Libuuid有没有人有这两个方面的经验,可以推荐一个而不是另一个,或者第三种可能性?

linux - 在 Ubuntu 16.04 上无人值守安装 krb5-user

所以,在运行时:sudoapt-getinstallkrb5-user系统会要求您输入AD/LDAP域。问题是我希望它能够作为我机器的启动脚本运行。有什么方法可以将域作为参数传递或禁用交互并在之后设置krb5-user吗?谢谢 最佳答案 对于无人值守安装,尝试将DEBIAN_FRONTEND变量设置为非交互方式:exportDEBIAN_FRONTEND=noninteractive并将-y标志传递给apt-get:apt-getinstall-ykrb5-user 关于linux-在U

Linux终端输入: reading user input from terminal truncating lines at 4095 character limit

在bash脚本中,我尝试在设置IFS=$'\n'后使用内置的read命令从标准输入读取行。如果我将输入粘贴到读取中,这些行将被截断为4095个字符限制。这个限制似乎来自于从终端读取,因为它工作得很好:fill=foriin$(seq194);dofill="${fill}x";doneforiin$(seq1100);doprintf"%04d00$fill"$i;done|(readline;echo$line)我在Python脚本中遇到了相同的行为(不接受来自终端的超过4095的输入,但接受来自管道的输入):#!/usr/bin/pythonfromsysimportstdinli