<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Alex Volkov &#187; Linux</title>
	<atom:link href="http://alexvolkov.ru/category/linux/feed" rel="self" type="application/rss+xml" />
	<link>http://alexvolkov.ru</link>
	<description>cat /var/log/life.log &#124; grep -E &#34;life&#124;work&#124;etc&#34;</description>
	<lastBuildDate>Tue, 27 Jul 2010 02:02:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Изменить размер картинки пакетно</title>
		<link>http://alexvolkov.ru/izmenit-razmer-kartinki-paketno.html</link>
		<comments>http://alexvolkov.ru/izmenit-razmer-kartinki-paketno.html#comments</comments>
		<pubDate>Wed, 21 Jul 2010 07:05:42 +0000</pubDate>
		<dc:creator>Alex Volkov</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ниочем]]></category>
		<category><![CDATA[imagemagick]]></category>
		<category><![CDATA[mogrify]]></category>

		<guid isPermaLink="false">http://alexvolkov.ru/?p=1695</guid>
		<description><![CDATA[Без всяких сторонних библиотек и классов. Крайне просто и быстро. Нужна только imagemagick, стоит на большинстве дистрибутивов по дефолту. Предварительно копируем: cd /home/user/images mkdir resized_images cp /home/user/images/* /home/user/images/resized_images Ресайзим с сохранением аспекта mogrify -resize 800 *.jpg Можно и с жестким размером mogrify -resize 800×600! *.jpg Линукс все-таки удобная штука! Свалилось в ридер вот отсюда P.S. [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Falexvolkov.ru%2Fizmenit-razmer-kartinki-paketno.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Falexvolkov.ru%2Fizmenit-razmer-kartinki-paketno.html&amp;source=alexvolkov&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Без всяких сторонних библиотек и классов. Крайне просто и быстро. Нужна только imagemagick, стоит на большинстве дистрибутивов по дефолту.<br />
Предварительно копируем:</p>
<pre>cd /home/user/images
mkdir resized_images
cp /home/user/images/* /home/user/images/resized_images</pre>
<p>Ресайзим с сохранением аспекта</p>
<pre>mogrify -resize 800 *.jpg</pre>
<p>Можно и с жестким размером</p>
<pre>mogrify -resize 800×600! *.jpg</pre>
<p>Линукс все-таки удобная штука!<br />
Свалилось в ридер <a href="http://tips4linux.com/batch-resize-images-using-the-command-line-in-linux/">вот отсюда</a></p>
<p><strong>P.S.</strong> У Уральского Жулика нашел интересный способ, как увеличить продажы в сапе и заодно оформить ссылки в блок аля директ:</p>
<p><a href="http://1.bp.blogspot.com/_5-2P2CyjmO8/TEV6ogtnO1I/AAAAAAAAAC0/DUli8VaRkcU/s1600/screen2.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img id="BLOGGER_PHOTO_ID_5495933756670163794" src="http://1.bp.blogspot.com/_5-2P2CyjmO8/TEV6ogtnO1I/AAAAAAAAAC0/DUli8VaRkcU/s320/screen2.jpg" border="0" alt="" /></a></p>
<p>Задумка крайне интересная, попробовать стоит. Только вот думаю, что как продажные ссылки не оформляй, они все равно останутся продажными и санкции за них все равно могут применить.<br />
<h3  class="related_post_title">Возможно, это будет интересно&#8230;</h3>
<ul class="related_post">
<li><a href="http://alexvolkov.ru/kak-uznat-status-processa-po-pid.html" title="Как узнать статус процесса по pid">Как узнать статус процесса по pid</a></li>
<li><a href="http://alexvolkov.ru/vyshla-mandriva-linux-2012-alpha-2.html" title="Вышла Mandriva Linux 2012 alpha 2">Вышла Mandriva Linux 2012 alpha 2</a></li>
<li><a href="http://alexvolkov.ru/prikoly-v-konsoli-zypper.html" title="Приколы в консоли, zypper )">Приколы в консоли, zypper )</a></li>
<li><a href="http://alexvolkov.ru/mobile-partner-pod-linuks-dlya-modema-huawei-e1550.html" title="Mobile partner под линукс для модема Huawei E1550">Mobile partner под линукс для модема Huawei E1550</a></li>
<li><a href="http://alexvolkov.ru/udalit-vse-pustye-stroki-v-fajjle.html" title="Удалить все пустые строки в файле">Удалить все пустые строки в файле</a></li>
<li><a href="http://alexvolkov.ru/esli-ne-rabotaet-zvuk-v-mandriva.html" title="Если не работает звук в mandriva">Если не работает звук в mandriva</a></li>
<li><a href="http://alexvolkov.ru/ustanovka-xneur-na-mandriva-linux.html" title="Установка xneur на mandriva linux">Установка xneur на mandriva linux</a></li>
<li><a href="http://alexvolkov.ru/linux-memory-leak-test-utechka-pamyati-v-linukse.html" title="Linux memory leak test / утечка памяти в линуксе ">Linux memory leak test / утечка памяти в линуксе </a></li>
<li><a href="http://alexvolkov.ru/wordpress-i-memcache-2.html" title="Wordpress и memcache 2">Wordpress и memcache 2</a></li>
<li><a href="http://alexvolkov.ru/novye-drajjvera-ot-nvidia-190-18-pod-linuks.html" title="Новые драйвера от Nvidia 190.18 под линукс">Новые драйвера от Nvidia 190.18 под линукс</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://alexvolkov.ru/izmenit-razmer-kartinki-paketno.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Делаем squid непрозрачным</title>
		<link>http://alexvolkov.ru/delaem-squid-neprozrachnym.html</link>
		<comments>http://alexvolkov.ru/delaem-squid-neprozrachnym.html#comments</comments>
		<pubDate>Tue, 16 Mar 2010 20:02:17 +0000</pubDate>
		<dc:creator>Alex Volkov</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[SysTips]]></category>
		<category><![CDATA[squid]]></category>

		<guid isPermaLink="false">http://alexvolkov.ru/?p=1598</guid>
		<description><![CDATA[Прокси палятся по следующим заголовкам: X-Forwarded-For Via Cache-Control Первый говорит откуда перенаправлен запрос, второй рассказывает о самом прокси, третий косвенный, показывает настройки кеширования. Отключается просто, в squid.conf добавляется запрет заголовков header_access X-Forwarded-For deny all header_access Via deny all header_access Cache-Control deny all И сквид становится анонимным элитным прокси, как любит говорить Пуховой Возможно, это будет [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Falexvolkov.ru%2Fdelaem-squid-neprozrachnym.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Falexvolkov.ru%2Fdelaem-squid-neprozrachnym.html&amp;source=alexvolkov&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Прокси палятся по следующим заголовкам:</p>
<pre>X-Forwarded-For
Via
Cache-Control</pre>
<p>Первый говорит откуда перенаправлен запрос, второй рассказывает о самом прокси, третий косвенный, показывает настройки кеширования.<br />
Отключается просто, в squid.conf добавляется запрет заголовков</p>
<pre>header_access X-Forwarded-For deny all
header_access Via deny all
header_access Cache-Control deny all
</pre>
<p>И сквид становится анонимным элитным прокси, как любит говорить <a href="http://downteam.ru/">Пуховой</a><br />
<h3  class="related_post_title">Возможно, это будет интересно&#8230;</h3>
<ul class="related_post">
<li><a href="http://alexvolkov.ru/ustanovka-squid-na-centos.html" title="Установка Squid на Centos">Установка Squid на Centos</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://alexvolkov.ru/delaem-squid-neprozrachnym.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Как узнать статус процесса по pid</title>
		<link>http://alexvolkov.ru/kak-uznat-status-processa-po-pid.html</link>
		<comments>http://alexvolkov.ru/kak-uznat-status-processa-po-pid.html#comments</comments>
		<pubDate>Sat, 06 Feb 2010 22:54:40 +0000</pubDate>
		<dc:creator>Alex Volkov</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[sys]]></category>

		<guid isPermaLink="false">http://alexvolkov.ru/?p=1546</guid>
		<description><![CDATA[Вся инфа о процессе лежит тут: cat /proc/PID/status Покажет что-то типа этого: Name: gedit State: S (sleeping) Tgid: 787 Pid: 787 PPid: 1 TracerPid: 0 Uid: 500 500 500 500 Gid: 100 100 100 100 FDSize: 64 Groups: 33 100 113 VmPeak: 306596 kB VmSize: 306592 kB VmLck: 0 kB VmHWM: 37748 kB VmRSS: 37744 [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Falexvolkov.ru%2Fkak-uznat-status-processa-po-pid.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Falexvolkov.ru%2Fkak-uznat-status-processa-po-pid.html&amp;source=alexvolkov&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Вся инфа о процессе лежит тут:</p>
<pre>cat /proc/PID/status</pre>
<p>Покажет что-то типа этого:</p>
<pre>Name:	gedit
State:	S (sleeping)
Tgid:	787
Pid:	787
PPid:	1
TracerPid:	0
Uid:	500	500	500	500
Gid:	100	100	100	100
FDSize:	64
Groups:	33 100 113
VmPeak:	  306596 kB
VmSize:	  306592 kB
VmLck:	       0 kB
VmHWM:	   37748 kB
VmRSS:	   37744 kB
VmData:	   36448 kB
VmStk:	     116 kB
VmExe:	     652 kB
VmLib:	   22848 kB
VmPTE:	     560 kB
Threads:	1
SigQ:	0/15992
SigPnd:	0000000000000000
ShdPnd:	0000000000000000
SigBlk:	0000000000000000
SigIgn:	0000000001001000
SigCgt:	00000001800004f0
CapInh:	0000000000000000
CapPrm:	0000000000000000
CapEff:	0000000000000000
CapBnd:	ffffffffffffffff
voluntary_ctxt_switches:	217142
nonvoluntary_ctxt_switches:	222001
</pre>
<p>Например, надо выдернуть текущее состояние скрипта:</p>
<pre>$status = cat /proc/PID/status | grep State | awk {'print $3'}</pre>
<p>$status будет (sleeping)<br />
<h3  class="related_post_title">Возможно, это будет интересно&#8230;</h3>
<ul class="related_post">
<li><a href="http://alexvolkov.ru/organizaciya-bekapa-na-serverakh.html" title="Организация бекапа на серверах">Организация бекапа на серверах</a></li>
<li><a href="http://alexvolkov.ru/bash-skripty.html" title="Bash скрипты">Bash скрипты</a></li>
<li><a href="http://alexvolkov.ru/izmenit-razmer-kartinki-paketno.html" title="Изменить размер картинки пакетно">Изменить размер картинки пакетно</a></li>
<li><a href="http://alexvolkov.ru/vyshla-mandriva-linux-2012-alpha-2.html" title="Вышла Mandriva Linux 2012 alpha 2">Вышла Mandriva Linux 2012 alpha 2</a></li>
<li><a href="http://alexvolkov.ru/prikoly-v-konsoli-zypper.html" title="Приколы в консоли, zypper )">Приколы в консоли, zypper )</a></li>
<li><a href="http://alexvolkov.ru/mobile-partner-pod-linuks-dlya-modema-huawei-e1550.html" title="Mobile partner под линукс для модема Huawei E1550">Mobile partner под линукс для модема Huawei E1550</a></li>
<li><a href="http://alexvolkov.ru/udalit-vse-pustye-stroki-v-fajjle.html" title="Удалить все пустые строки в файле">Удалить все пустые строки в файле</a></li>
<li><a href="http://alexvolkov.ru/esli-ne-rabotaet-zvuk-v-mandriva.html" title="Если не работает звук в mandriva">Если не работает звук в mandriva</a></li>
<li><a href="http://alexvolkov.ru/ustanovka-xneur-na-mandriva-linux.html" title="Установка xneur на mandriva linux">Установка xneur на mandriva linux</a></li>
<li><a href="http://alexvolkov.ru/linux-memory-leak-test-utechka-pamyati-v-linukse.html" title="Linux memory leak test / утечка памяти в линуксе ">Linux memory leak test / утечка памяти в линуксе </a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://alexvolkov.ru/kak-uznat-status-processa-po-pid.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Вышла Mandriva Linux 2012 alpha 2</title>
		<link>http://alexvolkov.ru/vyshla-mandriva-linux-2012-alpha-2.html</link>
		<comments>http://alexvolkov.ru/vyshla-mandriva-linux-2012-alpha-2.html#comments</comments>
		<pubDate>Sat, 06 Feb 2010 13:32:45 +0000</pubDate>
		<dc:creator>Alex Volkov</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[mandriva]]></category>

		<guid isPermaLink="false">http://alexvolkov.ru/?p=1543</guid>
		<description><![CDATA[Клепают мандриву прям по часам, что в том году 7 февраля уже ставил, что в этом году. Молодцы, что тут еще сказать. Глянул чейнджлог, допиливают вовсю третий гном, который походу в spring версии уже будет. Еще усиленно пихают везде Zeitgeist, как по мне так тулза не очень, зачем надо смотреть, что я вчера слушал или [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Falexvolkov.ru%2Fvyshla-mandriva-linux-2012-alpha-2.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Falexvolkov.ru%2Fvyshla-mandriva-linux-2012-alpha-2.html&amp;source=alexvolkov&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Клепают мандриву прям по часам, что в том году 7 февраля уже ставил, что в этом году. Молодцы, что тут еще сказать. Глянул чейнджлог, допиливают вовсю третий гном, который походу в spring версии уже будет. Еще усиленно пихают везде <a href="http://seilo.geekyogre.com/2010/01/gnome-activity-journal-looking-sexy/">Zeitgeist</a>,  как по мне так тулза не очень, зачем надо смотреть, что я вчера слушал или какие документы открывал. Десктопный менеджер теперь наутилус, метасити убрали.</p>
<p><a href="http://wiki.mandriva.com/en/2010.1_Alpha_2">Все подробности тут</a><br />
<h3  class="related_post_title">Возможно, это будет интересно&#8230;</h3>
<ul class="related_post">
<li><a href="http://alexvolkov.ru/esli-ne-rabotaet-zvuk-v-mandriva.html" title="Если не работает звук в mandriva">Если не работает звук в mandriva</a></li>
<li><a href="http://alexvolkov.ru/ustanovka-xneur-na-mandriva-linux.html" title="Установка xneur на mandriva linux">Установка xneur на mandriva linux</a></li>
<li><a href="http://alexvolkov.ru/asus-k40in-i-linuks-2.html" title="asus k40in и линукс 2">asus k40in и линукс 2</a></li>
<li><a href="http://alexvolkov.ru/canon-lbp-2900-i-mandriva-linux.html" title="Canon lbp 2900 и mandriva linux ">Canon lbp 2900 и mandriva linux </a></li>
<li><a href="http://alexvolkov.ru/otklyuchaem-soobshheniya-faervola.html" title="Отключаем сообщения фаервола">Отключаем сообщения фаервола</a></li>
<li><a href="http://alexvolkov.ru/terminalnyjj-server2.html" title="Терминальный сервер2">Терминальный сервер2</a></li>
<li><a href="http://alexvolkov.ru/vyshlo-yadro-kernel-desktop-2629-0rc611mnb.html" title="Вышло ядро kernel 2.6.29-0.rc6.1.1mnb ">Вышло ядро kernel 2.6.29-0.rc6.1.1mnb </a></li>
<li><a href="http://alexvolkov.ru/a-skoro-i-mandriva-linux-20091-rc-1-sozreet.html" title="А скоро и Mandriva Linux 2009.1 RC 1 созреет">А скоро и Mandriva Linux 2009.1 RC 1 созреет</a></li>
<li><a href="http://alexvolkov.ru/moya-pervaya-statya-v-russkojj-wikimandriva.html" title="Моя первая статья в русской wiki.mandriva">Моя первая статья в русской wiki.mandriva</a></li>
<li><a href="http://alexvolkov.ru/mandriva-linux-20091-beta-released.html" title="Mandriva linux 2009.1 beta released.">Mandriva linux 2009.1 beta released.</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://alexvolkov.ru/vyshla-mandriva-linux-2012-alpha-2.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Vhosts и ext4</title>
		<link>http://alexvolkov.ru/vhosts-i-ext4.html</link>
		<comments>http://alexvolkov.ru/vhosts-i-ext4.html#comments</comments>
		<pubDate>Sun, 24 Jan 2010 22:49:09 +0000</pubDate>
		<dc:creator>Alex Volkov</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://alexvolkov.ru/?p=1533</guid>
		<description><![CDATA[Установил LAMP, не могу зайти ни на один из прописанных к локалхосту доменов. Везде валится: (13)Permission denied: /home/alex/work/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable .htaccess там нет, одни индекс хтмлы. Папка от простого юзера, 777 даже на нее проставил, ноль эффекта. А это походу какая фича(баг?) ext4. Отпустило после того, как [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Falexvolkov.ru%2Fvhosts-i-ext4.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Falexvolkov.ru%2Fvhosts-i-ext4.html&amp;source=alexvolkov&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Установил LAMP, не могу зайти ни на один из прописанных к локалхосту доменов. Везде валится:</p>
<pre class="brush:c-sharp">(13)Permission denied: /home/alex/work/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable
</pre>
<p> .htaccess там нет, одни индекс хтмлы.<br />
Папка от простого юзера, 777 даже на нее проставил, ноль эффекта. А это походу какая фича(баг?) ext4. Отпустило после того, как я своей домашней папке (!) выставил chown своего же (!!) пользователя и до кучи права 755, которые там также стояли по дефолту(!!!)<br />
<h3  class="related_post_title">Нет совпадений</h3>
<ul class="related_post">
<li><a href="http://alexvolkov.ru/vmware-workstation-error.html" title="VMware Workstation Error">VMware Workstation Error</a></li>
<li><a href="http://alexvolkov.ru/vot-tak-treniruemsya.html" title="Вот так тренируемся )">Вот так тренируемся )</a></li>
<li><a href="http://alexvolkov.ru/kak-yaponskijj-guglya-ssylki-pokupal-ssylki-v-yaponskom-blogune.html" title="Как японский гугля ссылки покупал ссылки в японском блогуне">Как японский гугля ссылки покупал ссылки в японском блогуне</a></li>
<li><a href="http://alexvolkov.ru/urpmi-baza-zablokirovana-vozmozhno-ee-ispolzuet-drugaya-programma.html" title="urpmi база заблокирована (возможно ее использует другая программа)">urpmi база заблокирована (возможно ее использует другая программа)</a></li>
<li><a href="http://alexvolkov.ru/mandriva-kruche-vsekh-tochka.html" title="Мандрива круче всех. Точка.">Мандрива круче всех. Точка.</a></li>
<li><a href="http://alexvolkov.ru/skript-massovojj-ustanovki-wordpress.html" title="Скрипт массовой установки wordpress">Скрипт массовой установки wordpress</a></li>
<li><a href="http://alexvolkov.ru/kak-dobavlyat-istochniki-v-mandriva-linux.html" title="Как добавлять источники в mandriva linux">Как добавлять источники в mandriva linux</a></li>
<li><a href="http://alexvolkov.ru/host-dlya-wordpress-nuzhen-ili-net.html" title="Host для wordpress &#8211; нужен или нет">Host для wordpress &#8211; нужен или нет</a></li>
<li><a href="http://alexvolkov.ru/stanovaya-tyaga-210.html" title="Становая тяга 210">Становая тяга 210</a></li>
<li><a href="http://alexvolkov.ru/a-ne-stat-li-mne-dofollow-blogom.html" title="А не стать ли мне dofollow блогом?">А не стать ли мне dofollow блогом?</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://alexvolkov.ru/vhosts-i-ext4.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Приколы в консоли, zypper )</title>
		<link>http://alexvolkov.ru/prikoly-v-konsoli-zypper.html</link>
		<comments>http://alexvolkov.ru/prikoly-v-konsoli-zypper.html#comments</comments>
		<pubDate>Sat, 23 Jan 2010 18:09:08 +0000</pubDate>
		<dc:creator>Alex Volkov</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[шелл]]></category>

		<guid isPermaLink="false">http://alexvolkov.ru/?p=1530</guid>
		<description><![CDATA[Когда-то давно порадовал tar своим робким отказом, сейчас зиппер сделал одолжение на ctrl+c Возможно, это будет интересно&#8230; Грепнуть сразу два или более слов Запуск скрипта из консоли с передачей параметров Организация бекапа на серверах Как обновить awstats из шелла Изменить размер картинки пакетно Как узнать статус процесса по pid Вышла Mandriva Linux 2012 alpha 2 [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Falexvolkov.ru%2Fprikoly-v-konsoli-zypper.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Falexvolkov.ru%2Fprikoly-v-konsoli-zypper.html&amp;source=alexvolkov&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Когда-то давно порадовал <a href="http://alexvolkov.ru/robkijj-tar.html">tar своим робким отказом</a>, сейчас зиппер сделал одолжение на ctrl+c<br />
<a href="http://alexvolkov.ru/wp-content/uploads/2010/01/terminal.png"><img class="alignnone size-full wp-image-1531" title="terminal" src="http://alexvolkov.ru/wp-content/uploads/2010/01/terminal.png" alt="" width="459" height="159" /></a><br />
<h3  class="related_post_title">Возможно, это будет интересно&#8230;</h3>
<ul class="related_post">
<li><a href="http://alexvolkov.ru/grepnut-srazu-dva-ili-bolee-slov.html" title="Грепнуть сразу два или более слов ">Грепнуть сразу два или более слов </a></li>
<li><a href="http://alexvolkov.ru/zapusk-skripta-iz-konsoli-s-peredachejj-parametrov.html" title="Запуск скрипта из консоли с передачей параметров">Запуск скрипта из консоли с передачей параметров</a></li>
<li><a href="http://alexvolkov.ru/organizaciya-bekapa-na-serverakh.html" title="Организация бекапа на серверах">Организация бекапа на серверах</a></li>
<li><a href="http://alexvolkov.ru/kak-obnovit-awstats-iz-shella.html" title="Как обновить awstats из шелла">Как обновить awstats из шелла</a></li>
<li><a href="http://alexvolkov.ru/izmenit-razmer-kartinki-paketno.html" title="Изменить размер картинки пакетно">Изменить размер картинки пакетно</a></li>
<li><a href="http://alexvolkov.ru/kak-uznat-status-processa-po-pid.html" title="Как узнать статус процесса по pid">Как узнать статус процесса по pid</a></li>
<li><a href="http://alexvolkov.ru/vyshla-mandriva-linux-2012-alpha-2.html" title="Вышла Mandriva Linux 2012 alpha 2">Вышла Mandriva Linux 2012 alpha 2</a></li>
<li><a href="http://alexvolkov.ru/mobile-partner-pod-linuks-dlya-modema-huawei-e1550.html" title="Mobile partner под линукс для модема Huawei E1550">Mobile partner под линукс для модема Huawei E1550</a></li>
<li><a href="http://alexvolkov.ru/udalit-vse-pustye-stroki-v-fajjle.html" title="Удалить все пустые строки в файле">Удалить все пустые строки в файле</a></li>
<li><a href="http://alexvolkov.ru/kak-uznat-s-kakimi-flagami-sobran-php.html" title="Как узнать, с какими флагами собран php">Как узнать, с какими флагами собран php</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://alexvolkov.ru/prikoly-v-konsoli-zypper.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Многопоточность в php</title>
		<link>http://alexvolkov.ru/mnogopotochnost-v-php.html</link>
		<comments>http://alexvolkov.ru/mnogopotochnost-v-php.html#comments</comments>
		<pubDate>Thu, 21 Jan 2010 19:20:18 +0000</pubDate>
		<dc:creator>Alex Volkov</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Скрипты]]></category>

		<guid isPermaLink="false">http://alexvolkov.ru/?p=1522</guid>
		<description><![CDATA[Оффициальной нет, сразу скажу. Есть только многочисленные костылики. Примеры, в основном, будут полезны в сео софте. Встала вобщем задача передо мной &#8211; накатать многопоточный нескажу что, причем не просто многопоточный, а чтобы еще и потоками можно было управлять, как в том же делфи. То есть, чтобы можно было поток остановить, запустить, запауазить, возобновить и потоки [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Falexvolkov.ru%2Fmnogopotochnost-v-php.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Falexvolkov.ru%2Fmnogopotochnost-v-php.html&amp;source=alexvolkov&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Оффициальной нет, сразу скажу. Есть только многочисленные костылики. Примеры, в основном, будут полезны в сео софте.</p>
<p>Встала вобщем задача передо мной &#8211; накатать многопоточный нескажу что, причем не просто многопоточный, а чтобы еще и потоками можно было управлять, как в том же делфи. То есть, чтобы можно было поток остановить, запустить, запауазить, возобновить и потоки еще должны оповещать о своем состоянии, мол в данный момент выполняю то-то.<span id="more-1522"></span></p>
<p>Собсно, теория реализации.</p>
<p>Два скрипта &#8211; один поток, второй запускалка потоков. Поток делает свои дела, запускалка вычисляет, сколько потоков запустить и с какими параметрами.</p>
<p>Пример первый, запускает 20 потоков, если общее количество потоков ниже чем 10</p>
<pre class="brush:c-sharp;">&lt;?php 

while(2 &gt; 1):

$thCount = exec("ps a | thread.php | wc -l");
echo $thCount."\r\n";
 if($thCount &lt; 10){
 for($i = 0; $i &lt; 20; $i++){
 echo "launch thread\r\n";
 passthru("(php -f thread.php &amp; ) &gt;&gt; /dev/null 2&gt;&amp;1");
 //sleep(1);
 }
 } else {
 sleep(5);
}
endwhile;

?&gt;</pre>
<p>Получается хрень, которая дозапускает потоки время от времени по условию. Потоков всегда разное число в разные промежутки времени и остановить их никак нельзя. Но, если некритичны все эти вещи, цикл вполне неплохо работает. Подходит, например, всякие регеры. При допилке можно держать нужное количество потоков с погрешностью +- 1. Для этого нужно просто динамически вычислять число запускаемых потоков. Да, и ps показывает три работающих потока при таком вызове, даже если нет ни одного. Один дает греп, второй сам скрипт, третий фиг знает кто. </p>
<p>Вариант 2.</p>
<p>Тут уже захотелось сделать более гибкую штуку. А именно &#8211; взять например 1к урлов и раздать их поровну N потокам.</p>
<pre class="brush:c-sharp;">&lt;?php

$threads = 10;
$base = file("base.txt");

$perThread = ceil(count($base) / $threads);

for($i = 0; $i &lt; $threads; $i++){
 if($i == 0) { passthru("(php -f thread.php '0|".$perThread."' &amp; ) &gt;&gt; /dev/null 2&gt;&amp;1");    }
 if($i == $threads-1) { passthru("(php -f thread.php '".$perThread * $i."|".count($base)."' &amp; ) &gt;&gt; /dev/null 2&gt;&amp;1");    }
 if(($i !== 0)&amp;&amp;($i !== $threads-1)) {
 $start = $perThread * $i + 1;
 $end = $start -1 + $perThread;
 passthru("(php -f thread.php '".$start."|".$end."' &amp; ) &gt;&gt; /dev/null 2&gt;&amp;1");    
 }
}
?&gt;</pre>
<p>Данный пример запускает поток с параметрами, который тот потом достает из массива $argv и использует. Такое вот разделение труда.</p>
<p>Взаимодействие между потоком и &laquo;мамой&raquo;.<br />
Тут у меня только теория. Думаю реализовать это через файлы. Поток создает файл с именем своей сессии (номера, пида), мама читает оттуда. Чтобы вывести инфу о потоках красиво и наглядно, думаю заюзать <a href="http://ru2.php.net/manual/en/book.ncurses.php">ncurses</a>. Это сишная либа, на ней сделаны midnight commander, top.  Доступна не только для пхп. </p>
<p>Изменения состояний потоков.<br />
Так и не придумал. Можно попробовать через теже файлы, но это надо после каждой строчки кода потока вставлять проверку файла на наличии там указаний. Скорость само собой упадет. Да и при таких реализациях мама убивается только вручную.</p>
<p>Саня, он же <a href="http://clear.helldude.ru/">похапэ дуд</a> , сразу обрубил &#8211; Я бы такие задачи не решал на php. Я тоже посматриваю в сторону других языков, думаю выучить что-то типа си, но пока я выучу, мне наверно уже ничего не надо будет. Есть вариант на питоне. И как раз в ридере попалась статья одного камрада, который начал изучать его и <a href="http://seorepa.com/archives/2010/01/21/607">привел примерчик</a>.<br />
Вариант ,как по мне, не очень, бесконечные потоки и в пхп можно пускать. Но в посте увидел <a href="http://python4seo.ru/?p=67">ссылочку</a>, третий примерчик очень похож на то, что надо. Плюс питона еще в том, что в нем можно использовать графические либы типа gtk или qt, а это уже полноценные проги для енд-юзера а не софт для консольных гиков.</p>
<hr/>
<a href="http://alexvolkov.ru/wordpress-i-memcache-2.html">memcached php</a><br />
<a href="http://alexvolkov.ru/ustanovka-memcached-dlya-wordpress.html">установка memcached</a><br />
<a href="http://alexvolkov.ru/20-ajax-skriptov-dlya-sajjta.html">скрипт опроса ajax</a><br />
<h3  class="related_post_title">Нет совпадений</h3>
<ul class="related_post">
<li><a href="http://alexvolkov.ru/parochka-konsolnykh-komand.html" title="Парочка консольных команд">Парочка консольных команд</a></li>
<li><a href="http://alexvolkov.ru/kholivarnye-roliki-pro-linuks.html" title="Холиварные ролики про линукс">Холиварные ролики про линукс</a></li>
<li><a href="http://alexvolkov.ru/python-251-i-starshe-na-centos.html" title="Python 2.5.1 и старше на Centos">Python 2.5.1 и старше на Centos</a></li>
<li><a href="http://alexvolkov.ru/rabota-s-youtube-api.html" title="Работа с Youtube API ">Работа с Youtube API </a></li>
<li><a href="http://alexvolkov.ru/promo-kody-dlya-godaddy-2.html" title="Промо-коды для Godaddy 2">Промо-коды для Godaddy 2</a></li>
<li><a href="http://alexvolkov.ru/veselyjj-primerchik-dlya-trenirovki-anglijjskogo.html" title="Веселый примерчик для тренировки английского">Веселый примерчик для тренировки английского</a></li>
<li><a href="http://alexvolkov.ru/ustanovka-xneur-na-mandriva-linux.html" title="Установка xneur на mandriva linux">Установка xneur на mandriva linux</a></li>
<li><a href="http://alexvolkov.ru/eshhe-odin-variant-robots-txt-dlya-wordpress.html" title="Еще один вариант robots.txt для wordpress">Еще один вариант robots.txt для wordpress</a></li>
<li><a href="http://alexvolkov.ru/mandriva-linux-20091-beta-released.html" title="Mandriva linux 2009.1 beta released.">Mandriva linux 2009.1 beta released.</a></li>
<li><a href="http://alexvolkov.ru/peredelannyjj-plagin-dlya-wordpress-related-posts.html" title="Переделанный плагин для wordpress related posts">Переделанный плагин для wordpress related posts</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://alexvolkov.ru/mnogopotochnost-v-php.html/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Парочка консольных команд</title>
		<link>http://alexvolkov.ru/parochka-konsolnykh-komand.html</link>
		<comments>http://alexvolkov.ru/parochka-konsolnykh-komand.html#comments</comments>
		<pubDate>Thu, 14 Jan 2010 07:39:54 +0000</pubDate>
		<dc:creator>Alex Volkov</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[whois]]></category>
		<category><![CDATA[консоль]]></category>

		<guid isPermaLink="false">http://alexvolkov.ru/?p=1515</guid>
		<description><![CDATA[Как выдрать мыло и дату окончания регистрации из хуиса: whois alexvolkov.ru &#124; grep paid-till &#124; awk {'print $2'} whois alexvolkov.ru.ru &#124; grep \@ &#124; awk {'print $2'} Возможно, это будет интересно&#8230; Грепнуть сразу два или более слов Количество процессов в линуксе из консоли]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Falexvolkov.ru%2Fparochka-konsolnykh-komand.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Falexvolkov.ru%2Fparochka-konsolnykh-komand.html&amp;source=alexvolkov&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Как выдрать мыло и дату окончания регистрации из хуиса:</p>
<pre>
whois alexvolkov.ru | grep paid-till | awk {'print $2'}
whois alexvolkov.ru.ru | grep \@ | awk {'print $2'}
</pre>
<h3  class="related_post_title">Возможно, это будет интересно&#8230;</h3>
<ul class="related_post">
<li><a href="http://alexvolkov.ru/grepnut-srazu-dva-ili-bolee-slov.html" title="Грепнуть сразу два или более слов ">Грепнуть сразу два или более слов </a></li>
<li><a href="http://alexvolkov.ru/kolichestvo-processov-v-linukse-iz-konsoli.html" title="Количество процессов в линуксе из консоли">Количество процессов в линуксе из консоли</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://alexvolkov.ru/parochka-konsolnykh-komand.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>pecl.php.net is using a unsupported protocal</title>
		<link>http://alexvolkov.ru/pecl-php-net-is-using-a-unsupported-protocal.html</link>
		<comments>http://alexvolkov.ru/pecl-php-net-is-using-a-unsupported-protocal.html#comments</comments>
		<pubDate>Mon, 11 Jan 2010 07:47:41 +0000</pubDate>
		<dc:creator>Alex Volkov</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://alexvolkov.ru/?p=1512</guid>
		<description><![CDATA[Такую вот ошибку поймал при установке ncurses на openSUSE. # pecl install ncurses pecl.php.net is using a unsupported protocal - This should never happen. install failed Трабла в неверно записанных каналах PEAR. В зюзе это прям как порядок, до этого база рпм глюкнула, ребилдил ее, теперь вот груша. Решение &#8211; удалить и обновить: cd /usr [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Falexvolkov.ru%2Fpecl-php-net-is-using-a-unsupported-protocal.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Falexvolkov.ru%2Fpecl-php-net-is-using-a-unsupported-protocal.html&amp;source=alexvolkov&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Такую вот ошибку поймал при установке ncurses на openSUSE.</p>
<pre>
# pecl install ncurses
pecl.php.net is using a unsupported protocal - This should never happen.
install failed
</pre>
<p>Трабла в неверно записанных каналах PEAR. В зюзе это прям как порядок, до этого база рпм глюкнула, ребилдил ее, теперь вот груша.</p>
<p>Решение &#8211; удалить и обновить:</p>
<pre>
cd /usr
su
find . -type d -name .channels
find . -type d -name .channels -exec rm -rf {} \;
pear update-channels
</pre>
<h3  class="related_post_title">Нет совпадений</h3>
<ul class="related_post">
<li><a href="http://alexvolkov.ru/eshhe-odin-variant-robots-txt-dlya-wordpress.html" title="Еще один вариант robots.txt для wordpress">Еще один вариант robots.txt для wordpress</a></li>
<li><a href="http://alexvolkov.ru/konkurent-saperu-linkfeed.html" title="Конкурент SAPE.RU &#8211; LinkFeed">Конкурент SAPE.RU &#8211; LinkFeed</a></li>
<li><a href="http://alexvolkov.ru/novyjj-servis-ot-gugla-podelis-sovetom.html" title="Новый сервис от Гугла &#8211; поделись советом.">Новый сервис от Гугла &#8211; поделись советом.</a></li>
<li><a href="http://alexvolkov.ru/moya-pervaya-statya-v-russkojj-wikimandriva.html" title="Моя первая статья в русской wiki.mandriva">Моя первая статья в русской wiki.mandriva</a></li>
<li><a href="http://alexvolkov.ru/import-arkhivirovannykh-dampov-gz-lzma-bzip.html" title="Импорт архивированных дампов .gz .lzma .bzip">Импорт архивированных дампов .gz .lzma .bzip</a></li>
<li><a href="http://alexvolkov.ru/optimizaciya-koda-sejjpa.html" title="Оптимизация кода сейпа">Оптимизация кода сейпа</a></li>
<li><a href="http://alexvolkov.ru/rezultaty-apa-yandeksa-2506.html" title="Результаты апа Яндекса 25/06">Результаты апа Яндекса 25/06</a></li>
<li><a href="http://alexvolkov.ru/poryadok-raspolozheniya-direktiv-v-robotstxt.html" title="Порядок расположения директив в robots.txt">Порядок расположения директив в robots.txt</a></li>
<li><a href="http://alexvolkov.ru/odno-imya-kategorii-raznye-roditeli.html" title="Одно имя категории, разные родители.">Одно имя категории, разные родители.</a></li>
<li><a href="http://alexvolkov.ru/rsya-obradovala.html" title="РСЯ обрадовала ">РСЯ обрадовала </a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://alexvolkov.ru/pecl-php-net-is-using-a-unsupported-protocal.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FTP + CURL</title>
		<link>http://alexvolkov.ru/ftp-curl.html</link>
		<comments>http://alexvolkov.ru/ftp-curl.html#comments</comments>
		<pubDate>Sun, 10 Jan 2010 12:19:34 +0000</pubDate>
		<dc:creator>Alex Volkov</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://alexvolkov.ru/?p=1509</guid>
		<description><![CDATA[Пара способов, загрузить файлы на фтп при помощи курла. Первый, самый простой и расово верный: curl -v -T filename ftp://login:password@ftp.site.ru Второй, немного побольше, при помощи php function UploadFTP($ftpLogin, $ftpPass, $ftpAddr, $ftpFile){ $remoteurl = "ftp://${ftpLogin}:${ftpPass}@${ftpAddr}${ftppath}/${ftpFile}"; $ch = curl_init(); $fp = fopen($ftpFile, "rb"); curl_setopt($ch, CURLOPT_URL, $remoteurl); curl_setopt($ch, CURLOPT_UPLOAD, 1); curl_setopt($ch, CURLOPT_INFILE, $fp); curl_setopt($ch, CURLOPT_INFILESIZE, filesize($ftpFile)); $error = [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Falexvolkov.ru%2Fftp-curl.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Falexvolkov.ru%2Fftp-curl.html&amp;source=alexvolkov&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Пара способов, загрузить файлы на фтп при помощи курла.<br />
Первый, самый простой и расово верный:</p>
<pre>curl -v -T filename ftp://login:password@ftp.site.ru</pre>
<p>Второй, немного побольше, при помощи php</p>
<pre class="brush:c-sharp">function UploadFTP($ftpLogin, $ftpPass, $ftpAddr, $ftpFile){
 $remoteurl = "ftp://${ftpLogin}:${ftpPass}@${ftpAddr}${ftppath}/${ftpFile}";
 $ch = curl_init();
 $fp = fopen($ftpFile, "rb");
 curl_setopt($ch, CURLOPT_URL, $remoteurl);
 curl_setopt($ch, CURLOPT_UPLOAD, 1);
 curl_setopt($ch, CURLOPT_INFILE, $fp);
 curl_setopt($ch, CURLOPT_INFILESIZE, filesize($ftpFile));
 $error = curl_exec($ch);
 curl_close($ch);
 return $error;
}</pre>
<h3  class="related_post_title">Возможно, это будет интересно&#8230;</h3>
<ul class="related_post">
<li><a href="http://alexvolkov.ru/zalivka-fajjlov-na-radikal-php.html" title="Заливка файлов на радикал PHP">Заливка файлов на радикал PHP</a></li>
<li><a href="http://alexvolkov.ru/zagruzka-izobrazhenijj-na-imageshost-po-kurlu.html" title="Загрузка изображений на imageshost по курлу">Загрузка изображений на imageshost по курлу</a></li>
<li><a href="http://alexvolkov.ru/postim-v-tvitter-cherez-kurl.html" title="Постим в твиттер через курл">Постим в твиттер через курл</a></li>
<li><a href="http://alexvolkov.ru/primer-prostojj-spamilki-vordpressa.html" title="Пример простой спамилки вордпресса">Пример простой спамилки вордпресса</a></li>
<li><a href="http://alexvolkov.ru/pishem-v-vordpress-cherez-curl.html" title="Пишем в вордпресс через curl">Пишем в вордпресс через curl</a></li>
<li><a href="http://alexvolkov.ru/kolichestvo-folloverov-v-tvittere-chislom.html" title="Количество фолловеров в твиттере числом">Количество фолловеров в твиттере числом</a></li>
<li><a href="http://alexvolkov.ru/a-php-budet-v-cpp-kompilitsya.html" title="А php будет в cpp компилится ">А php будет в cpp компилится </a></li>
<li><a href="http://alexvolkov.ru/kak-uznat-s-kakimi-flagami-sobran-php.html" title="Как узнать, с какими флагами собран php">Как узнать, с какими флагами собран php</a></li>
<li><a href="http://alexvolkov.ru/poleznye-regulyarki.html" title="Полезные регулярки.">Полезные регулярки.</a></li>
<li><a href="http://alexvolkov.ru/karta-sajjta-kakaya-u-vas.html" title="Карта сайта &#8211; какая у вас?">Карта сайта &#8211; какая у вас?</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://alexvolkov.ru/ftp-curl.html/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>
