我试图找出特定进程在 OS X 机器上执行的进程(包括参数)。我之前没有使用过 DTrace,但认为它应该是微不足道的。环顾四周后,我发现了这个,它看起来和我想要的完全一样:
$ sudo dtrace -n 'proc:::exec-success { trace(curpsinfo->pr_psargs); }'
Run Code Online (Sandbox Code Playgroud)
只是,它不能正常工作。列出该命令的站点之一具有看起来很完美的示例输出,但是当我尝试在 OS X 上运行它时,我得到以下信息:
dtrace: description 'proc:::exec-success ' matched 2 probes
CPU ID FUNCTION:NAME
0 18616 posix_spawn:exec-success
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
0: 6d 64 77 6f 72 6b 65 72 00 73 6b 00 00 00 00 00 mdworker.sk.....
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …Run Code Online (Sandbox Code Playgroud) 我发现有很多事情说你可以将警告记录到 MySQL 错误日志中,但我还没有真正做到这一点。
我确实有错误日志在工作,并且 MySQL 在启动和关闭时以及偶尔在其他时间向它打印内容,但是如果我例如SELECT CAST('123' AS DATE);然后SHOW WARNINGS;我可以看到警告,但它没有出现在任何日志中。
我也试过启用一般日志和慢查询日志,但这些也没有显示警告。
我试过log_warnings = 1and log_warnings = 2,但仍然没有记录警告。
我究竟做错了什么?
mysql> show variables like '%error%';
+--------------------+--------------------------+
| Variable_name | Value |
+--------------------+--------------------------+
| error_count | 0 |
| log_error | /var/log/mysql/mysql.err |
| max_connect_errors | 10 |
| max_error_count | 1024 |
| slave_skip_errors | OFF |
+--------------------+--------------------------+
mysql> show variables like '%warn%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_warnings | 1 | …Run Code Online (Sandbox Code Playgroud)