![]() |
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.
|
|
google unix.com
|
|||||||
| Forums | Register | Forum Rules | Links | Albums | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| High Level Programming Post questions about C, C++, Java, SQL, and other programming languages here. |
More UNIX and Linux Forum Topics You Might Find Helpful
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| How to log start/stop time of ALL processes | bluesky099 | UNIX for Advanced & Expert Users | 10 | 12-18-2007 12:01 AM |
| how to stop to current directory using find | james_falco | UNIX for Dummies Questions & Answers | 1 | 07-17-2007 08:43 PM |
| Search term and output term in desired field | Raynon | Shell Programming and Scripting | 28 | 03-04-2007 02:34 AM |
| Checking before start and stop processes | maldini | Shell Programming and Scripting | 3 | 07-22-2005 02:35 AM |
| Stop Printing Please | cubicle^dweller | UNIX for Dummies Questions & Answers | 4 | 11-10-2002 12:45 AM |
![]() |
|
|
LinkBack | Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Hello All,
Background ======== I am creating a virtual appliance console for a software stack on VMware ESXi. I am using Centos 5.x as the Linux distro (Guest OS). I have created a ncurses based application that does the user authentication and present him with some basic controls to do basic system administration. This application will be setup to lunch automatically from mingetty as it is happening now. We have made the configuration to launch the application on tty1 automatically after each system restart. The Issue ======= The issue which is hindering us alot are the kernel and other processes outputs that get printed on tty1 when it is active. Well it is a normal behavior that all kernel info, warnings and error messages are goes to the current active virtual console. But this also destroy our ncurses based application UI that supposed to run all the time on the tty1. The Question ========== So my question is that can we in Linux (kernel:2.6, distro:Centos5.x) stop kernel and other processes to output their text to our terminal (i.e. tty1), and also redirect all the output to tty1 except ours to some other VC such as tty2. Kindly respond anyone. We are in deep trouble due to this issue. Thanks Kashif Ali Siddiqui Linux Developer |
|
||||
|
This is not a programming solution:
1. edit your /etc/syslog.conf file to turn off all of the syslog messages that display there. This does not stop other kernel output. 2. For that you can play with klogd errorlevel settings. Start klogd with something like Code:
klogd -c 4 Read your man page for klogd and syslog before tinkering. DO NOT GO ANY LOWER. Both of these suggestions have downsides - they shut off the flow of information which a lot of sysadmins find useful. They also require a custom setup script if this is a product that goes to customers who are not Linux savvy. |
|
||||
|
Kindly suggest how can I restrict kernel and other utilities that generate logs entries through klogd and syslog to a specific (fixed) virtual terminal.
Since /dev/tty1 will be hosting my application, I can open up /dev/tty2 to have all system wide log entries there. So is there any thing in kernel arguments, and/or in configuration that I can change/make to restrict all kernel output to a specific console. Also I post this in programming forum, because in my application, I explicitly made the STDOUT(/dev/tty1) exclusive to my application, and redirect all the output to the /dev/tty2. Here is the code ... Code:
bool TerminalSetup()
{
bool bRet = false;
if (ioctl(1, TIOCEXCL, 0) != 0)
{
printf("\n -- Error!!\nUnable to put the terminal into exclusive mode.. ");
}
int iFd = 0;
string ref_strRedirTerminal = "/dev/tty2";
if ((iFd = open(ref_strRedirTerminal.c_str(), O_RDWR)) == -1) /* strange ... */
{
fprintf(stderr, "Could not open %s R/W (%s)\n", ref_strRedirTerminal.c_str(), strerror(errno));
fflush(stderr);
return false; /* maybe above user limit? */
}
if (ioctl(iFd, TIOCCONS, 0))
{
fprintf(stderr, "Terminal redirection fails. (%s)\n", strerror(errno));
fflush(stderr);
}
close(iFd);
bRet = true;
return bRet;
}
Code:
echo "Testing ..." > /dev/tty1 Hence the above code to make /dev/tty1 exclusive to my process, and redirect all output to /dev/tty2 fails partially. So any thoughts then. Kashif |
![]() |
| Bookmarks |
| Tags |
| console, linux, terminal |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|