问题标签 [process-accounting]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 如何在 BSD 进程记帐文件中获取脚本名称?
我正在尝试编写一个程序来处理Linux下的BSD风格的进程记帐文件(/var/account/pacct)。
当我们使用./script_name
或启动脚本时bash script_name
,进程记帐记录实际上会被命令写出bash
。大概是因为那是实际运行的程序。
我们希望看到的是 command script_name
。有谁知道将脚本名称写入会计文件而不是 bash 可执行文件的方法?
c - 这次与时间相关的流程会计统计数据收集是否合适?
基于sys/acct.h(V1,不是 V3),我需要基于逐行解析 acct 文件的解析器收集一些用户使用统计信息。解析器将每 N 秒运行并解析整个文件,我需要收集自上次运行以来累积的用户统计信息(N 秒后)。根据 sys/acct.h 提供的信息,我不确定最合适的方法是什么。
也许是这样的:
comp_t 也被称为“由 3 位、以 8 为底的指数和 13 位尾数组成的浮点值”,但我认为 u_int16_t 只是一个无符号短整数。我是否应该使用提供的公式将其转换为 long 它?
linux - Linux 进程及其子进程读/写的字节总数
我想打印 Linux 进程读/写的字节总数。例如,我跑
并且想看看GCC(包括它的子代)总共向Linux内核请求了多少字节,以及它们向内核发送了多少字节。
此问题的不完整解决方案是:
字段
rchar
和wchar
in/proc/PID/io
显示到目前为止读取/写入的字节数。它不考虑子进程。一旦进程终止,它就会丢失。诸如此类的工具
strace
可用于打印出进程及其子进程的系统调用(例如:read
、write
系统调用),但它无法汇总读取/写入的字节数。
如何打印Linux进程及其子进程读/写的总字节数?
sql - 会计交易表设计
我有以下会计表:
http://sqlfiddle.com/#!3/b93f3/2
我的交易详情表有以下字段:
我认为这张桌子还可以,但我的问题是关于会计交易......
示例:电力承包商向我收取了 1,000 美元的电梯服务费用,然后我将这些信息记录如下:
然后我将不得不支付该账单,因此我进入下一笔交易:
在这里,我可以看到“应付账款”余额为0,但是维修收入呢...?如果我进行查询,它会说维修收入仍为 1,300,我想我必须添加另一个字段或其他内容,以便我知道付款交易也会扼杀维修收入。
有什么线索吗?希望我能清楚地解释这一点..
logging - 在 FreeBSD 中监控进程创建
我正在寻找监视在 FreeBSD 系统上执行的所有命令。我已经看过 lastcomm 了,它在 BSD 中使用了进程记帐工具。不幸的是,它只存储每个执行命令的前十个字符。理想情况下,我希望整个命令包括 CLI 参数。
另外,由于我不想进入的原因,我正在这里使用 FreeBSD 4.x 系统,所以我认为我无法访问“auditd”或此类设施。
/proc 拥有我需要的所有信息,但我无法找到一种监控 procfs 以创建和删除新节点的好方法。
编辑:感谢您的输入。不幸的是,dtrace 不是一个选项,因为我提到这些是 FreeBSD 4.x 系统。接下来 - 我确实查看了 /proc 中的修改时间。只是kqueue并没有具体说明修改了什么文件。
linux - taskstats 统计数据未加起来
我试图弄清楚 taskstats 结构中的统计数据是如何相加的。我写了一个简单的 C 程序,它运行了一段时间做 IO 并退出。我使用从 taskstats netlink 多播组获得的 taskstats 结构来监视该程序的统计信息。当我对cpu_delay_total
、blkio_delay_total
、swapin_delay_total
、和的值求和时freepages_delay_total
,我得到一个比经过时间 ( )的值大约 0.5 秒的值ac_utime
ac_stime
ac_etime
以下是 3.5 秒运行的统计数据:
ac_etime: 3536036
ac_utime: 172000
ac_stime: 3032000
cpu_delay_total: 792528445
blkio_delay_total: 46320128
swapin_delay_total: 0
freepages_delay_total: 0
将延迟、utime 和 stime 的值相加4042848.573
(将延迟除以 1000 以转换为微秒),而etime
只有3536036
!
有趣的是,挂钟时间给出的值实际上等于 utime+stime: cpu_run_real_total: 3204000129
,而ac_utime + ac_stime: 3204000
cpu_run_real_total
尽管 taskstats.h 中的注释明确指出这是挂钟时间,但该字段是否给出了 cpu 时间?这些字段的总和大于经过时间的原因可能是什么?
我的内核版本是 3.2.0-38。
linux - 如何确定 linux 进程记帐 (accton) 当前是否正在运行?
有什么方法可以确定进程记帐(accton)是否正在运行?进程表(“ps”)中没有列出任何进程,并且我在“/etc”下看不到任何可以用“status”调用以获得记帐状态的内容。
我正在运行基于“Linux From Scratch”的自定义构建,所以虽然我知道 CentOS 有“psacct”,但我没有那个可用的。
我可以查看日志文件,看看它是否在增长 - 不理想,但如果这是我得到的全部,那么这就是我得到的全部。我希望有更好的方法。
欣赏任何信息。
unix - 在 Unix 中使用 acct 结构进行进程记帐
我已经阅读了 Advanced Unix 中进程记帐的概念。我了解这些记帐记录通常是少量二进制数据,其中包含命令名称、使用的 CPU 时间量、用户 ID 和组 ID、进程的启动时间等。但我不明白如何acct
访问该结构。
如何访问acct
结构以及如何启用和禁用进程记帐?
accounting - BankEntryLine 的精确更改 GLAccount
目前我们导入我们的银行交易。通过 REST API,我阅读了所有这些交易并尝试将它们与我们的内部发票相匹配。
如果我找到匹配项,我需要将这个特定 BankEntryLine 的 GLAccountCode 从例如 1000 更改为 2000。我在 BankEntryLine 上看到的只是我可以执行 GET 或 POST 但没有 PUT 方法。
我的方法有问题吗?就像我必须创建其他东西来协调这个交易还是有不同的方式来更新这个交易行?
示例 BankEntryLine:
API 文档:https ://start.exactonline.nl/docs/HlpRestAPIResources.aspx?SourceAction=10
BankEntryLine:https ://start.exactonline.nl/docs/HlpRestAPIResourcesDetails.aspx?name=FinancialTransactionBankEntryLines