LINUX.ORG.RU

Сообщения PETER

 

C|C++ аналог GD::Graph

Собственно ищется

PETER
()

Где купить SuSE 9.0 ???

Собсно ... вот

PETER
()

убить TCP соединение

Хай, пипель! Есть сервер, при открытии соединений он не форкается. Нужно убить, ну например, одно из ста TCP соединение в состоянии ESTABLISHED внешними средствам. Ядро Linux - 2.4.x. Вопрос как?

PETER
()

FIFOs, pipes & дочки

Вобщем у меня такая загвоздка - есть приклада которая форкается, и в дочке делается execlp с запуском скрипта из под шелл. Родитель должен записать данные в скрипт( пробовал через pipe и через FIFO ), тот их обрабатывает и возвращает через FIFO. Загвоздка в том что не удается точно определить - есть ли кто с другой стороны трубы. Например, если командная строка неверная, то шелл исполниться, а скрипт нет, соотв. никого по ту сторону трубы не будет. pselect не катит т.к. в случае pipe он нормально срабатывает из-за запуска шелла, а в случае FIFO - нужно либо открывать на запись в неблокируещем режиме и проверять на ENXIO ( опять же бесконечный цикл получается ), либо в блокирующем - и тогда ступор, если неверная команда шелла. Предварительный анализ перед этими манипуляциями через waitpid ( -1, 0, WNOHANG) == 0 не всегда срабатывает, а вводить таймаут - нехорошо ... Вот такая загагулина. Заранее благодарен за дельные советы.

PETER
()

libxml2

Привет пипл. В libxml2 ф-ции типа xmlParseMemory, 
xmlDocDumpMemory молча делают перекодировку из внешней (koi8-r) во 
внутреннюю (UTF-8), если в декларация имеет вид:

<?xml version="1.0" encoding="koi8-r"?>

В описалове написано, что есть встроенные перекодировщики, а  также 
используется iconv, если библиотека собрана под юнихом.

При использовании ф-ций типа xmlHasProp, xmlNodeSetContent ... и т.п.,
т.е. ф-ции работающие с внутренним представлением хотят или выдают
данные в UTF-8. Для того чтобы получить в koi8r я использую iconv.

Вопрос такой - можно ли обойтись без "внешнего" iconv, т.е. 
оперировать прямо в koi8r или же использовать перекодировщик libxml2,
если он уже проинициализирован.
PETER
()

файловые потоки в STL

Привет всем. В проге я читаю с fifo у сервера данные (xml-ник). 
Реализация через Цэшные вызов fgets работает на ура. На ЦЕПП
типа
std::fstrem fifo( "myfifo", std::ios_base::in )
char B;
while ( fifo )
{
     fifo >> B;
     result << B;
}
fifo.close();

Обрезает ( то что я пока вижу ) '\n', не знаю как '\t', '\f' и т.п.
Пробовал объявлять B как строку, fifo дополнительно задавать 
binary mode - такая же фигня. Кто знает скажите как сделать такую
фигню или ткните где почитать ( чот у Страуструпа в книжке не нашел )
PETER
()

Про cron

Пипл, подскажите иль ткните где почитать. Запускаю задание через crontab, вопрос - то что запускается и пишет в stdout, stderr куда сливается и сливается ли вообще? P.S.: В логах следов работы не обнаружил, мейлера в системе нет

PETER
()

Mozilla&ASPLinux9

Вобсчем вместо русских букв - квадратики с кодами символов. Шрифтов поставил разных, всяких и ttf тоже.

PETER
()

Про консоль

Вобщем надо узнать из .bash_profile, чтоб выполнить нужные настройки - откуда юзер работает - с консоли (локально) или через телнет (удаленно). Через $TERM не очень хорошо ( типа [ "$TERM"="linux" ] ), т.к. и на телнет-клиенте можно выставить эту переменную, тем более с другой Linux машины

PETER
()

lingva

Вобсчем, пипл, кто-нить приворачивал в X шрифты, чтоб субж транскрипции показывал ( я юзаю 5-ую версию ). Там в вине утилитка есть для конвертации xxxx.fon фонтов, но вот какую кодировку указывать - не рюхаю. Очень много спасибо за дельные советы.

PETER
()

popen

Хай пипель! Кто знает как проанализировать ситуацию, если в popen передана неверная командная строка? Если типа :

FILE * p = popen ( "adn", "w" );

то p <> NULL, т.к. шелл выполнится, но внешней команды "adn" нет.

PETER
()

home network & internet

Привет всем!

Вобщем задачка такая - есть несколько одомашненных компов, соединенных
в сеть ( жилой дом ). У каждого владельца компа есть телефон, модем. 
Интернет у них общий, т.е. один логин у провайдера на всех. Нужно
сконфигурить сетку так, чтобы при дозвоне к провайдеру одного из 
владельцев, у всех остальных инет также работал.

Предполагаемое решение - раздать всем "серые" адреса, напр.:
192.168.0.2, 192.168.0.3 и т.д. Адрес 192.168.0.1 оставить напр. под
default gateway. При дозвоне к провайдеру выполнять скрипт, напр.,
ip-up, в котором присваивать еще один ip (192.168.0.1) ethernet 
адаптеру. На всех узлах 192.168.0.1 прописывать или как def-gateway
или как адрес прокси. Ну и затем либо запускать прокси, либо прописывать NAT на том узле, который дозвонился и он становится
инетовым шлюзом.

Вопрос1 - какое может быть еще решение
Вопрос2 - сколько может стоить такая работа
Вопрос3 - можно ли такую феню сбацать под форточками 
( мой опыт работы до Win2000, c XаPЭ не возился :) Почитав доки на 
WinGate 4/x и используя вышеприведенное решение понял, что
перезагрузок ;) не избежать.
PETER
()

xterm & xclipboard

С новогодьем всех, подскажите плз. как xterm настроить так, чтоб при выделении мышой текста данные в xclipboard попадали, т.е. чтоб было возможно копирование между x-прикладами ( напр. мозилой ) и xterm-ом

PETER
()

xterm & xclipboard

Привет всем, подскажите плз. можно ль xterm настроить так, чтоб при выделении мышой текста данные в xclipboard попадали, т.е. чтоб было возможно копирование между x-прикладами и xterm-ом

PETER
()

траблы с курсорами в постгресе

Вобщем с курсорами у меня алгоритм работы такой:
declare aaa cursor for select .... , затем фетчю таблицу
fetch 1, fetch 1 ... до тех пор пока не получаю пустой ответ,
затем назад fetch -1, fetch -1 и т.д.

Все нормально, если select в курсоре "простой", т.е для одной 
таблички. Грабли появляются если сделать такой курсор:

declare AAA cursor for
select a.name, b.name
from table_a as a left outer join table_b as b
on ( a.id = b.id );

т.е. присутствует объединение таблиц. В этом случае
fecth 1 и fetch -1 работают только в "пределах" границ
данных, возвращаемых селектом, т.е. если делать fetch 1 
до конца таблицы и выйти за границу ( получить пустой ответ ), 
то курсор "ломается" и ни fetch 1, ни fetch -1 не работают.

Чё делать, как лечить?
p.s. у меня версия 7.2 ( пока еще :)
PETER
()

psql & pipe

Вобщем ситуция такая - мне нужно фильтровать то что возвражщает psql
( консоль от Постгреса ) на предмет ошибок. Делаю так:
$ psql -U user -d db -f initdb.sql | check
, где check перловый скрипт след содержания:

#!/usr/bin/perl -w
while(<>)
{
if ( $_ =~ /ERROR:/ ) { print; }
}

Вобщем почему-то не отфильтровывает сообщения с NOTICE, хотя такая
фигня работает правильно:

$ printf "shgERROR:skjb\nksjbkjsbk\n" | check

Где собака порылась?
PETER
()

Про make могет кто чо подскажет

Ситуация такая - имеется проект разбитый на 4-е подкаталога: A,B,C,D,
где A,B - проги; C,D - общие части к ним.  В каждом подкаталоге свой 
makefile в котором главная цель зависит от 2-х других - a) цель по
созданию подкаталогов .dep и .obj б) цель создания объектников и 
зависисимостей, работающих по шаблонным правилам - один шаблон для объектников, другой для зависимостей. В шаблоне для зависимостей gcc 
вызывается с ключом -MM и все это пайпится через sed (для перестановок)
по назначению. И есть общий makefile файл, который в цикле выполняет
операцию "make" над этими каталогами и затем выполняется сборка прог.
Трабл такого свойства - при вызове make -j (т.е. заставляю форкаться)
над "чистым" проектом ( только исходники ) выскакивают ошибки типа :
cpp0: output pipe has been closed,
т.е. как раз тогда, когда создаются зависимости, ну и соотв. некоторые
из зависимостей не создаются.
Вопрос - если кто сталкивался, где "собака порылась"? 
PETER
()

Про звуки wav

Сорри, если оффтопик, вобщем хочу звуки издавать ;) Поставил sox и пользую из него play ( по рекомендациям howto ), но звук получаю с большими нелинейными искажениями. C xmms - такая же фигня c wav файлами, хотя mp3 проигрывает нормально. Mplayer воспроизводит киношный звук нормально. Карточка cmi8738 + alsa-0.9. Игра с битрейтом у play ничего относительно качества воспроизведения не дает. С другими форматами не возился.

PETER
()

постгрес-веселуха с date, timestamp & etc

Вобщем пацаны такая фигня: Храню я в одной табличке данные с типом date. Для того чтоб русскому челу жить было легче решил я об это постгресу сказать. А говорится это (внимание!) двумя последкомандами: set DATESTYLE='ISO' (разделяет элементы даты слешами) и set DATESTYLE='European' (сначала день потом месяц), т.е. никакой не может быть и речи использовать соотв переменную окружения. Ну и фиг бы сним, да вот нужность возникла триггер замутить в котором бы сравнивалось значение типа date из вышеназванной таблицы со значением типа timestamp из другой. И вот тут главная засада ( про приведение типов я не забыл ) - значения месяца и дня в этих полях во время выполнения триггерной процедуры находятся в противоположных местах, т.е. поле типа date видно на америкосовский манер ( месяц спереди даты ), а поле типа timestamp - наоборот. Если в теле триггера выполнить установку вышеуказанных переменных то все меняется с точностью до наоборот, а backend настроить через переменную окружения тоже не получится - см. выше. Соответственно никакой речи о сравнении. Ну и чо тут делать русскому пиплу, так и хранить дату/время на америкосов лад? ПГ - 7.2.0

PETER
()

SUSE8.0 - траблы с русификацией консоли + коряво ставится

Вобщем-то subj. А история такая: 1) при попытке загрузиться с CD1 и поставится yast вылетает в ошибку 2) образ загр дискеты - негрузабелен 3) поставился, загрузившись с CD2 ( на нем есть еще один вариант ядра, в различия не врубался). В yaste нет выбора русского ( да и фиг с ним ). Далее решил настроить консоль на русский - пришлось доставлять локаль к glibc c дистра, немного поковырявшись в /etc/sysconfig/ ( console, keyboard, language ) и запустив SuSEconfig вроде все стало на свои места, но только на tty1. ДЛя того чтобы работало на других либо рутом нужно еще раз прогнать скрипт /etc/rc.d/kbd start либо прямо юзером echo -en "\033(K" МЛИН, слов нет - одни слюни, кто сталкивался, как лечить?

PETER
()

RSS подписка на новые темы