gpt4 book ai didi

c - 如何编写unix "time"之类的实用程序

转载 作者:行者123 更新时间:2023-11-30 14:51:42 24 4
gpt4 key购买 nike

我是unix新手,正在学习编写一些c程序,我们可以在ubuntu中使用gcc编译器执行这些程序。问题:我需要写一些类似的东西:“time ls”,其中时间应该由我的程序替换。我知道如何为此编写c程序,但是,我无法理解如果我用我的实用程序替换时间,例如“mytime”,unix将如何计算出要执行的内容?一些背景知识确实会有帮助

最佳答案

阅读一些好的 Linux 编程书籍,也许 ALP - 有点旧,但可以免费下载。

另请阅读intro(2) & syscalls(2) .

对于与时间相关的内容,请从 time(7) 开始。它解释了时间的几种概念。然后考虑time(2) , gettimeofday(2) , getrusage(2) , clock_gettime(2) , times(2) , localtime(3) , strftime(3)等等...

另请注意 time(1)可以是 shell 的内置命令,也可以是 /usr/bin/time 中的外部命令。所以这是一些free software ,您可以下载并研究其源代码。

I cannot understand how unix will figure out what to execute

请注意PATH variable (另请参阅 environ(7) ),由 shells 使用并在 execvp(3) 。您可以设置PATH以满足您的需求。您可能还对 strace(1) 感兴趣了解什么system calls一个命令或者一个进程正在做的事情。请注意,shell 是普通程序,您可以编写自己的程序(这是一项非常有用的练习)。大多数 shell 是 free software您可以研究其源代码。 sash是一个非常简单的外壳...

关于c - 如何编写unix "time"之类的实用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48108655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com