![]() |
|
|
google unix.com
|
|||||||
| Fórumok | Regisztráció | Fórum Szabályok | Linkek | Albumok | GYIK | Tagok listája | Naptár | Keres | Mai hozzászólások | Megjelöl Fórumok Olvas |
| Magas szintű Programozás Post kérdések C, C + +, Java, SQL, és más programozási nyelvek itt. |
Több, UNIX és Linux fórum témák Ön által talált Hasznos
|
||||
| Szál | Thread Starter | Fórum | Válaszok | Utolsó hozzászólás |
| Hogyan kell bejelentkezni start / stop idő folyamatok | bluesky099 | A UNIX a fejlett és szakértői Felhasználók | 10 | 12-18-2007 12:01 AM |
| hogyan lehet megállítani a jelenlegi könyvtár segítségével találjanak | james_falco | A UNIX a dummies Kérdések és válaszok | 1 | 07-17-2007 09:43 PM |
| Keresési kifejezés és a kimeneti távon kívánt terület | Raynon | Shell programozás és Scripting | 28 | 03-04-2007 02:34 AM |
| Ellenőrzés megkezdése előtt, és megáll folyamatok | Maldini | Shell programozás és Scripting | 3 | 07-22-2005 03:35 AM |
| Stop Printing Kérem | kabin lakója ^ | A UNIX a dummies Kérdések és válaszok | 4 | 11-10-2002 12:45 AM |
![]() |
|
|
LinkBack | Téma eszközök | Keresés a téma | Rate Thread | Megjelenítési módok |
|
|
|
||||
|
Hello All,
Háttér \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d Én létre virtuális konzolon készülék egy szoftvercsomag a VMware ESXi. Én használ CentOS 5.x, mint a Linux disztribúciót (Vendég OS). Nekem van teremtett egy ncurses alapú alkalmazás, amit csinál a felhasználói hitelesítés és a jelen neki néhány alapvető ellenőrzések nem alap rendszer alkalmazása. Ez az alkalmazás lesz beállítva, hogy automatikusan mingetty ebédet, mert ez történik most. Tettünk a konfigurációt, hogy indítsa el az alkalmazást a tty1 minden rendszer után automatikusan újraindul. A kérdés \u003d\u003d\u003d\u003d\u003d\u003d\u003d A kérdés, amely hátráltatja nekünk sok a kernel és egyéb folyamatok kimeneti kap, hogy a nyomtatott tty1, ha be van kapcsolva. Hát ez egy normális viselkedés, hogy minden kernel információk, figyelmeztetések és hibaüzenetek megy az aktív virtuális konzolon. De ez is elpusztítják ncurses alapú alkalmazás UI evvel fuss minden alkalommal a tty1. A kérdés \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d Szóval a kérdésem az, hogy tudjuk a Linux (kernel: 2.6, distro: Centos5.x) stop kernel és egyéb folyamatok a kimenetre a szövegben a mi terminál (pl. tty1), valamint irányítani az összes kimenetet tty1 csak a miénk, hogy más VC mint tty2. Kedvesen válaszol senkinek. Mi nagy bajban miatt ezt a kérdést. Köszönöm Kashif Ali Siddiqui Linux Developer |
|
||||
|
Ez nem egy programozási megoldást: 1. szerkessze a / etc / syslog.conf fájlt, kapcsolja ki az összes syslog üzenet jelenik meg ott. Ez nem akadályozza meg a többi kernel kimenetet. 2. Adott játszhatsz klogd errorlevel beállításait. Start klogd valami hasonló Kód:
klogd -c 4 Ez korlátozza konzol megjeleníti a súlyos hibákat csak. KERN_ERR szintű üzeneteket hiszem. Olvassa el a man oldalt a klogd és a syslog előtt bütyköl. Don't Go bármely alacsonyabb. Mindkét javaslat hátrányai vannak - ezek kikapcsol az információ áramlását, amely sok rendszergazda hasznosnak találhat. Is igényelnek egyéni telepítő szkript, ha ez egy olyan termék, megy az ügyfeleknek, akik nem Linux-szakértő. |
|
||||
|
Kedvesen arra utalnak, hogyan korlátozzák a kernel és más segédprogramok naplózásra bejegyzések keresztül klogd és syslog-egy meghatározott (fix) virtuális terminál. Mivel / dev/tty1 ad otthont a kérelmemet, meg tudom nyitni / dev/tty2, hogy az összes rendszer széles naplóbejegyzéseit ott. Szóval van valami dolog kernel érveket, és / vagy a beállításokban, hogy meg tudom változtatni / teszi, hogy korlátozza valamennyi kernel kimenetet egy külön konzolra. Én is ezt tegye programozás fórumon, mert a kérelmemet, azt kifejezetten megtette a STDOUT (/ dev/tty1) exkluzív az én kérelmet, és átirányítja az összes kimenetet a / dev/tty2. Itt van a kód ... Kód:
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;
}
Szóval mit kapok, az eredmény az, hogy amikor egy átirányított kimenet / dev/tty1 keresztül echo mint Kód:
echo "Testing ..." > /dev/tty1 a kimenet nem átirányítja a / dev/tty2 ahogy tette világossá a kódomat. De ha partíciós táblát újra szinkronizál a fdisk segédprogramot, a kernel kimenetek a / dev/tty1 (ez volt aktív akkor). Ezért a fenti kódot Márka / dev/tty1 kizárólag az én folyamatot, és átirányítja az összes kimenetet / dev/tty2 nem részlegesen. Így bármilyen, a gondolatok akkor. Kashif |
![]() |
| Könyvjelzõk |
| Címkék |
| konzol, linux, terminál |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|