当前位置:  技术问答>linux和unix

如何在用户进程中获取当前进程的task_struct结构地址?

    来源: 互联网  发布时间:2015-10-21

    本文导语:  下面的代码在编译时会出现警告 #include  struct task_struct *current = NULL; void get_current(); void main() {     get_current();     if (current != NULL)     {         printf( "%dn", (int)current->pid );     }     return 0; } v...

下面的代码在编译时会出现警告
#include 

struct task_struct *current = NULL;
void get_current();

void main()
{
    get_current();
    if (current != NULL)
    {
        printf( "%dn", (int)current->pid );
    }
    return 0;
}

void get_current() 

    struct task_struct *current; 
    __asm__("andl %%esp,%0; ":"=r" (current):"0" (~8191)); 
}

警告信息为: dereferencing pointer to incomplete type.

|
学习。

|
应该是AND 2^13 吧?

|
只有在内核空间才可以这样做(用户空间的栈和内核空间的栈是不一样的)。

|
用户态能直接访问内核态吗?

|
gz!

|
对只有在内核态才可以用

|
在用户态下面应该不能这样做,只有在内核态下面才行.


另外,你的main函数的返回值为void,但函数体内却有返回值.

|
学习

|
up

|
内核把task_struct结构的信息传递到/proc,
可以用#cat /proc/youritem.
别的方法就不清楚。

|
vipiii(vipiii),这位朋友,谢谢.
不过,我的原意是像 jiajie828()这样理解.
如有冒犯,请见谅.

|
呵呵,我也看错了。。。
在内核遍历task_struct链表,把结果写到/proc下就可以了。。

|
不懂!

|
用module

    
 
 

您可能感兴趣的文章:

  • Linux进程的内核栈和用户栈概念,相互关系及切换过程
  • 内核进程与用户进程间的通信
  • 我做了个精灵进程,为什么推出用户登录后这个进程就消失了???
  • (菜鸟提问)怎么区份linux系统进程和用户进程?
  • 请问fork子进程后,怎么修改子进程的所属用户。
  • 怎么只显示自己用户启动的进程,怎么只显示自己用户的目录。
  • Linux下root用户如何用其他用户身份启动进程?
  • 关于内核进程和用户层命令不是很理解?
  • 如何利用Linux内核线程来保存用户进程
  • 有关限制用户进程数的问题
  • linux 进程的用户空间使用?
  • 用户进程有自己独立的地址空间,内核线程没有自己的地址空间 该怎样理解: ?
  • linux 下监控用户或者进程的流量
  • 关于kernel和用户进程内存映射,进行读写问题
  • 准备做一个核心态下运行用户进程的研究了,哪位给点建议吧?
  • $ps 命令是否只列出当前用户的进程?
  • 挂起和恢复用户进程?
  • 中断上下文,进程上下文 ,内核抢占,用户抢占,中断
  • 用户进程加载后在哪加入的调度队列的?
  • 查看用户的进程是什么了?
  • 如何通过C编程获取当前用户的进程列表
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • LAMP环境下,通过非root用户,可以获取mysql的用户名和密码吗?
  • 请指点: 在windows下能否通过程序来获取linux下的用户列表,甚至通过自己写的windows程序界面增加修改linux的用户
  • 如何获取当前用户的根目录
  • 请指点: 在windows下能否通过程序来获取linux下的用户列表,甚至通过自己写的windows程序界面增加修改linux的用户 100分相赠
  • LINUX下获取WINDOWS用户(组)和系统服务?
  • 如何从用户名获取其对应的终端文件名?
  • asp.net获取用户ip地址公共类
  • 如何获取运行本程序的用户的默认工作路径??
  • 在linux中用C如何获取进程列表和在线用户列表
  • 如何编程 获取一个用户进程的运行状况?
  • 在linux下,一个用户如果从另一个用户的文件夹下获取文件?
  • suse11如何获取本机系统的时间,语言,用户名,硬盘分区,挂载点等信息?
  • linux系统下如何监控和获取用户行为(高分悬赏)
  • 系统进程用户名的获取方法(c#代码)
  • linux获取登录当前系统的用户名和UID
  • C# 获取系统进程的用户名
  • 百度地图API应用实例获取用户具体位置
  • 百度地图API应用之获取用户的具体位置
  • linux下shell的脚本无法获取别的用户的环境变量
  • php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 概念混乱,请专人解释:实际用户ID,有效用户ID,设置用户ID
  • UIO(linux Userspace I/O子系统)用户空间设备驱动I/O技术介绍
  • proftp中,如何让FTP的用户是非Linux用户,只是FTP用户?
  • CentOS安装Telnet,以root用户登陆Telnet以及CentOS的各种终端解释
  • windows 系统是否是多用户操作系统,如何理解“多用户操作系统”的“多用户”?
  • 我装的是RED HAT LINUX 8.0,我在root用户中把root用户删除了,怎办也进不了root用户
  • 怎样让普通用户拥有超级用户的权限,是把普通用户的组设为root组吗?具体怎么做,急死了
  • 我一个服务器同时接受到很多个用户的认证请求(得到用户名和密码),然后把用户名密码发给认证服务器。因为是远程认证,所
  • 我装了中软Linux3.1,启动时要求输入用户名和口令,但安装时并没有提示指定用户名,所以现在输入用户名老是错误,不能进入系统,请问该怎
  • root用户附权限给其他用户问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3