In Linux, there are two kinds of crashes - kernel panic/oom and user space core dump. For kernel panic, the standard config is rebooting the system. Unfortunately, the panic log can only be printed to console and will disappear after reboot if there is no additional device to record the console log - most kernel panic/oom logs won’t be written to system log, and even they do, there is no way to sync them to disk storage during panic.
As explained in previous post Linux System Log, threre is no way to directly change the default timestamps printed on Linux console. However, it is still possible to get human readable timestamp without using fancy syslog tools like syslog-ng.
This is a general guide for detecting and debugging kernel space memory leak. Since the drivers and firmwares in real products vary a lot, this post cannot cover the specific issues.
This is a note of Linux system logging mechanism.
The Click programming language was developed to configure Click routers, but nowadays you also can use it to write test cases for Click elements.
Click is a modular router toolkit written mainly in C++, which can be run in both user space and OS kernel space. Since its invention in late 1990s by Eddie Kohler, Click is has gained great successes in both research and industry. This series of notes aims to (1)introduce Click platform, (2)analyze the implementation of Click, and (3) discuss some general problems related to Operating System and Network Programming. The Click Source code can be found here.
This is the second article(collection) on how to build a *nix development environment by integrating remote servers and local Linux/Mac clients. For the previous article on this topic, please refer to Building Remote+Local *nix Develop Environment.
pthread for multithreading, most threads call
pthread_exit() implicitly on return from the thread start routine. Besides,
pthread_exit() also can be used to terminate the initial process thread in
main(), leaving other threads to continue operation. The process will go away automatically when the last thread terminates. If you don’t care about the process exit status, or if is difficult to know the created thread IDs(e.g. created by third party APIs), you can call
This is the first article(collection) on how to build a *nix development environment by integrating remote servers and local Linux/Mac clients. For the following-up article on this topic, please refer to Building Remote+Local *nix Develop Environment(II).
This is the fourth article on binary tree operations. For other topics on binary tree, please refer to: