Sponsored Content
Top Forums Programming Want to get /var/log/messages redirected to a FIFO ... Post 302272294 by redoubtable on Tuesday 30th of December 2008 07:20:10 AM
Old 12-30-2008
Panos' "tail" implementation is the best way to go for your problem. It simple clears the EOF from the stream so calls to fgets() (or any other function) won't stop.

/dev/log is a unix socket used to create messages, not to read them. If you wish to read messages from dmesg, you could use the syslog() (kernel function) glibc wrapper klogctl() with type 3 (which doesn't clear the kernel ring buffer).

Another solution is creating a "man-in-middle" situation by modifying syslog's daemon configuration so it operates on a different unix socket than /dev/log (say /whatever/new_socket). In other words, your program would read /dev/log for requests and forward them to syslog daemon unix socket (/whatever/new_socket).

Yet another solution would be to use ptrace() PTRACE_ATTACH/PTRACE_PEEKTEXT to intercept syslog's daemon read()'s from /dev/log.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

/var/log/messages

Which programm, deamon or script is responsible for filling the file /var/log/messages ? (1 Reply)
Discussion started by: Cozmic
1 Replies

2. Solaris

diff b/w /var/log/syslog and /var/adm/messages

hi sirs can u tell the difference between /var/log/syslogs and /var/adm/messages in my working place i am having two servers. in one servers messages file is empty and syslog file is going on increasing.. and in another servers message file is going on increasing but syslog file is... (2 Replies)
Discussion started by: tv.praveenkumar
2 Replies

3. UNIX for Advanced & Expert Users

/var/adm/messages vs /var/log/messages

The /var/adm/messages in Solaris seem to log more system messages/errors compared to /var/log/messages in Linux. I checked the log level in Linux and they seem OK. Is there any other log file that contains the messages or is it just that Linux doesn't log great many things? (2 Replies)
Discussion started by: gomes1333
2 Replies

4. Solaris

Difference between /var/log/syslog and /var/adm/messages

Hi, Is the contents in /var/log/syslog and /var/adm/messages are same?? Regards (3 Replies)
Discussion started by: vks47
3 Replies

5. Shell Programming and Scripting

How can view log messages between two time frame from /var/log/message or any type of log files

How can view log messages between two time frame from /var/log/message or any type of log files. when logfiles are very big and especially many messages with in few minutes, I would like to display log messages between 5 minute interval. Could you pls give me the command? (1 Reply)
Discussion started by: johnveslin
1 Replies

6. UNIX for Dummies Questions & Answers

fprintd messages in /var/log/messages

Whenever a user uses su I get the following error messages in /var/log/messages: Nov 23 04:24:55 <REMOVED> abrt: saved core dump of pid 26141 (/usr/libexec/fprintd) to /var/spool/abrt/ccpp-1322018695-26141.new/coredump (753664 bytes) Nov 23 04:24:55 <REMOVED> abrtd: Directory... (3 Replies)
Discussion started by: JakesHat
3 Replies

7. SuSE

Some error messages in var/log/messages

How are you? SUSE V10 and 11. In /var/log/messages I see these lines in some servers. I'd like to know what causes these errors and how to fix them. Thank you, error: PAM: Authentication failure for root from XXXXXXXX Did not receive identification string from XXXXXXX Invalid user suse-gm... (2 Replies)
Discussion started by: JDBA
2 Replies

8. Shell Programming and Scripting

Log all the commands input by user at real time in /var/log/messages

Below is my script to log all the command input by any user to /var/log/messages. But I cant achieve the desired output that i want. PLease see below. function log2syslog { declare COMMAND COMMAND=$(fc -ln -0) logger -p local1.notice -t bash -i -- "$USER:$COMMAND" } trap... (12 Replies)
Discussion started by: invinzin21
12 Replies

9. Shell Programming and Scripting

Transfer the logs being thrown into /var/log/messages into another file example /var/log/volumelog

I have been searching and reading about syslog. I would like to know how to Transfer the logs being thrown into /var/log/messages into another file example /var/log/volumelog. tail -f /var/log/messages dblogger: msg_to_dbrow: no logtype using missing dblogger: msg_to_dbrow_str: val ==... (2 Replies)
Discussion started by: kenshinhimura
2 Replies

10. Red Hat

Meaning of /var/log/messages

I am getting a lot of message as follows in /var/log/message files as follows. messages.1:559:May 4 20:01:56 SERVER2 kernel: session_stat: sync=0 async=33 aretr=0 messages.1:560:May 4 20:02:42 SERVER2 kernel: session_stat: dev=fd:5 state=6 blksize=4096 mmapsize=262144 messages.1:561:May 4... (2 Replies)
Discussion started by: Anjan Ganguly
2 Replies
DMESG(1)							   User Commands							  DMESG(1)

NAME
dmesg - print or control the kernel ring buffer SYNOPSIS
dmesg [options] dmesg --clear dmesg --read-clear [options] dmesg --console-level level dmesg --console-on dmesg --console-off DESCRIPTION
dmesg is used to examine or control the kernel ring buffer. The default action is to read all messages from kernel ring buffer. OPTIONS
The --clear, --read-clear, --console-on, --console-off and --console-level options are mutually exclusive. -C, --clear Clear the ring buffer. -c, --read-clear Clear the ring buffer contents after printing. -D, --console-off Disable printing messages to the console. -d, --show-delta Display the timestamp and time delta spent between messages. If used together with --notime then only the time delta without the timestamp is printed. -e, --reltime Display the local time and delta in human readable format. -E, --console-on Enable printing messages to the console. -F, --file file Read log from file. -f, --facility list Restrict output to defined (comma separated) list of facilities. For example dmesg --facility=daemon will print messages from system daemons only. For all supported facilities see dmesg --help output. -H, --human Enable human readable output. See also --color, --reltime and --nopager. -h, --help Print a help text and exit. -k, --kernel Print kernel messages. -L, --color Colorize important messages. -l, --level list Restrict output to defined (comma separated) list of levels. For example dmesg --level=err,warn will print error and warning messages only. For all supported levels see dmesg --help output. -n, --console-level level Set the level at which logging of messages is done to the console. The level is a level number or abbreviation of the level name. For all supported levels see dmesg --help output. For example, -n 1 or -n alert prevents all messages, except emergency (panic) messages, from appearing on the console. All levels of messages are still written to /proc/kmsg, so syslogd(8) can still be used to control exactly where kernel messages appear. When the -n option is used, dmesg will not print or clear the kernel ring buffer. -P, --nopager Do not pipe output into a pager, the pager is enabled for --human output. -r, --raw Print the raw message buffer, i.e., do not strip the log level prefixes. Note that the real raw format depends on method how dmesg(1) reads kernel messages. The /dev/kmsg uses different format than sys- log(2). For backward compatibility dmesg(1) returns data always in syslog(2) format. The real raw data from /dev/kmsg is possible to read for example by command 'dd if=/dev/kmsg iflag=nonblock'. -S, --syslog Force to use syslog(2) kernel interface to read kernel messages. The default is to use /dev/kmsg rather than syslog(2) since kernel 3.5.0. -s, --buffer-size size Use a buffer of size to query the kernel ring buffer. This is 16392 by default. (The default kernel syslog buffer size was 4096 at first, 8192 since 1.3.54, 16384 since 2.1.113.) If you have set the kernel buffer to be larger than the default then this option can be used to view the entire buffer. -T, --ctime Print human readable timestamps. The timestamp could be inaccurate! The time source used for the logs is not updated after system SUSPEND/RESUME. -t, --notime Do not print kernel's timestamps. -u, --userspace Print userspace messages. -V, --version Output version information and exit. -w, --follow Wait for new messages. This feature is supported on systems with readable /dev/kmsg only (since kernel 3.5.0). -x, --decode Decode facility and level (priority) number to human readable prefixes. SEE ALSO
syslogd(8) AUTHORS
Karel Zak <kzak@redhat.com> Theodore Ts'o <tytso@athena.mit.edu> AVAILABILITY
The dmesg command is part of the util-linux package and is available from Linux Kernel Archive <ftp://ftp.kernel.org/pub/linux/utils/util- linux/>. util-linux July 2012 DMESG(1)
All times are GMT -4. The time now is 09:27 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy