首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >用rust写了个小程序

用rust写了个小程序

作者头像
KINGYT
发布2019-06-02 14:23:30
发布2019-06-02 14:23:30
1.9K0
举报

一直有在关注rust,毕竟是号称要取代c++的、现代的、系统级的编程语言。

而且,从网上反馈的信息来看,大家对rust语言本身都是持好评态度的。

这两天趁着有点时间,学了下rust,并且写了个查看linux下进程信息的小程序。

代码本身非常简单,就是提取 /proc/[pid]/ 目录下的信息,整理后输出出来。

代码已经提交到github上,有兴趣的可以看一下。

https://github.com/wangyuntao/pinfo-rs

用法及输出大致为:

代码语言:javascript
复制
$ ./pinfoUsage: ./pinfo <pid>
$ sudo ./pinfo 1
pid        : 1
cmdline    : /sbin/init
exe        : /usr/lib/systemd/systemd
cwd        : /
mem (kb)   : 9916
threads    : 1
open files : 71

Limit                     Soft Limit           Hard Limit           Units
Max cpu time              unlimited            unlimited            seconds
Max file size             unlimited            unlimited            bytes
Max data size             unlimited            unlimited            bytes
Max stack size            8388608              unlimited            bytes
Max core file size        unlimited            unlimited            bytes
Max resident set          unlimited            unlimited            bytes
Max processes             63082                63082                processes
Max open files            1073741816           1073741816           files
Max locked memory         67108864             67108864             bytes
Max address space         unlimited            unlimited            bytes
Max file locks            unlimited            unlimited            locks
Max pending signals       63082                63082                signals
Max msgqueue size         819200               819200               bytes
Max nice priority         0                    0
Max realtime priority     0                    0
Max realtime timeout      unlimited            unlimited            us

通过写这个项目,我本身觉得rust还是太复杂了。

为了自动管理内存且不要gc的方式,设计了 ownership/borrowing/lifetime 机制,思路本身很好,但现实是使用起来太过复杂。

trait特性是让我觉得惊艳的地方,但现实是在std标准库里,各种trait满天飞,看个api的用法能把你绕晕。

另外的感受是,api设计的非常不友好,可能也是因为上面的两点原因吧。

我觉得rust最出彩的地方是它的工具链及包管理,rustup、cargo命令用起来太舒服了。

可能是我写习惯java了,目前为止,感觉还接受不了rust的方式。

但我还是会继续关注的,希望它能越变越好。

完。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Linux内核及JVM底层相关技术研究 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档