Programming :: Getting The Name Of The Process That Sent Data To A Pipe?

Feb 16, 2011

I am trying to automate some directory naming when we're manually running some scripts and are using tee to direct the output to a file (log). Right now this is what we do

Code:

./some_script.sh 2>&1 | tee /home/user/some_dir/logs/manual/some_script_20110216_1628.log

As a matter of laziness and keeping the log files consistently named, I'd like to create a function to pipe it to so that it's doing all the naming How I envision the command running

Code:

./some_script.sh 2>&1 | myfunc

And what the logfile name should look like (and in the right directory)

Code:

some_script_20110216-1628.log

I was thinking of adding a function to our profile to handle this. Just in testing I was trying to stream line right on the command line, but I'm having some difficulty in getting the name of the script that is pushing data over the pipe. Here is what I've tried

Code:

./some_script.sh 2>&1 | tee $(cd ../logs/manual; pwd)/$0_$(date +%Y%m%d)-$(date +%H%M).log

but that created a file named

"bash_20110216-1628.log"

View 3 Replies


ADVERTISEMENT

Programming :: Read Unknown Data Length From Usb Pipe?

Aug 12, 2010

I've written a usb device driver and a program that sends and receives data over the bulk pipe. The read function sometimes returnsI'm reading an unknown amount of data. However, using a usb tracker I can see that the correct data is being sent.The error only occurs sometimes.I expect that the read function is told to read more data that it receives it would fail and return -1, however if this was the case then every read call would fail.

View 4 Replies View Related

Programming :: Select() Call Does Not Detect Data In Pipe Between Parent And Child Program

Sep 23, 2009

i wanted to capture the stdout and stdin of a child process within a parent so that any output of child is sent to the parent and any input taken from the parent. code is simple enough and i have followed all code guidlines on the internet (some guidlines do differ also) my select call either hangs if i do not give a tmeout and with a timeout it returns 0 descriptors to be written to or read from:

below is the simple code for parent:

int main(void)
{
int outfd[2];
int infd[2];

[code].....

why select hangs without a timeout ... why can it not detect that the pipe is write ready i.e parent can write to it ... if it does not detect tha read pipe as having data...

View 5 Replies View Related

Programming :: Handle A Broken Pipe Exception (SIGPIPE) In FIFO Pipe?

Mar 2, 2011

I've written a simple server in linux used fork to create a FIFO pipe.The server create two FIFO pipe.One for server read data from client and write data to client.Then another pipe for client read data from server and write data to server.When the server read data from a client used server-pipe and then write data to client.But ,if the client no read open the pipe,the server side write will be crashed because of a broken-pipe SIGPIPE. How to check whether the read side is opened?Or,how to catch the SIGPIPE,and then my server will still execute on,not crashed!!

View 5 Replies View Related

Programming :: Communication Data Between Different Process

Nov 22, 2010

I would like to send struct data from process A to process B but I dont known what is the best way. I have read about IPC, but there are a lot of ways to do it.

View 2 Replies View Related

Programming :: Get And Process Stuff From JSON Encoded Serialized Data String?

Apr 2, 2010

I have this JSON encoded data, which I want to efficiently parse (i.e. fast, with minimal system resources). I don't want to use a/the shell any more than necessary.

Here's a snippet of what the raw serial data looks like:

Code:
[{"num":1,"name":"1","visible":false,"focused":false,"rect":{"x":0,"y":0,"width":1680,"height":1050},...blah blah..
So that's fine. I currently have at least two ways of parsing it:

This Perl method (which I don't much care for because I'm not much into Perl, and because the output is not much more useful than the raw form, and imho even more cryptic):

Code:
sasha@reactor: <produce data> | perl -MData::Dumper -MJSON::XS -E 'say Dumper(decode_json <>)'
$VAR1 = [
{
code....

# Which means: at x=1680, draw a 20x20px grey block, then back up -10px and draw a "1" on the block.I figure that the two awk's I've used can be combined into one -- but I began having problems with removing the single quotes if I did it within the awk, which is why I stuck a `tr` in the middle.

I know this sucks. So, if someone has some ideas or thoughts on something else to do with this JSON data, that's less convoluted that where I'm currently going, I'll be happy to hear about it.

PS - I know this whole post is possibly hard to understand -- if you need more info (you mean you're interested in this mess?? )

View 13 Replies View Related

General :: Kill A Process Using Pipe?

Apr 22, 2010

We want to kill a process provided that only process name is given and we are to first find out the process id and then kill the process. Yes, in one go! That is, using pipe.

So, I tried this (the bold text):

[Code]...

View 17 Replies View Related

General :: Pipe Kernel Messages To Another Process As They Occur

Apr 13, 2011

I have an OLED screen on my laptop that I have configured to show status information. The current driver I have installed in Linux for it is able to display messages by sending them to a script as an argument separated by spaces.Example: the command /opt/asusg50oled/utils/notify.sh Hi Everybody "Hello World" displays on the oled screen:

Hi
Everybody
Hello World

If another message is sent before the old ones disappear and it reverts to status info, it pushes off the top message. Example: less than 30 seconds after the previous example, /opt/asusg50oled/utils/notify.sh "Bananas have potassium" is executed:

Everybody
Hello World
Bananas have potassium

What I want to do is have kernel messages (the kind you see by running dmesg) forwarded to this script. For example, when I insert a USB drive, the following information would show on the OLED screen as they're logged:........

View 3 Replies View Related

General :: Process The Output Of A Locate Command, Pipe It To What?

Sep 30, 2010

Is there a way to process the output of a locate command on the spot within bash. The output is 3 lines, ex:

Code:
[root@server confluence]# locate .timestamp
/opt/confluence/confluence-persistent/index/.timestamp

[code]....

View 3 Replies View Related

Programming :: Use Pipe In Excel Function?

Apr 13, 2010

In shell, I execute "./ffmpeg -f h264 - | xxx"

Now I hope use execl function to execute above operations,

I call execl("/bin/sh", "sh", "-c", "./ffmpeg -f h264 - | xxx");

but ffmpeg doesn't work, it seems that "|" pipe don't work.

how could I solve this?

View 1 Replies View Related

Programming :: BASH: Get PID Of First Command In Pipe

Aug 11, 2010

I understand that $! is the PID of a command. For example:

Code: #!/bin/bash
myprogram &
echo "PID of myprogram is $!"

I'd like to send the output of "myprogram" to both console and to a log file using the "tee" command but I also want to store the PID of "myprogam". Something like this:

Code: #!/bin/bash
myprogram | tee ./logfile &
echo "PID of myprogram is $!"

The problem is that $! is now the PID of "tee" rather than the PID of "myprogram".

View 3 Replies View Related

Programming :: Pipe Output To Gtkdialog?

Apr 5, 2011

For instance, suppose I want to pipe the output of ps -A to a gtkdialog table.

View 1 Replies View Related

Programming :: Pipe Output Of Ls To File?

May 3, 2011

I want to pipe the output of ls in a folder to a file (lets call it test.txt) but when i do so, but when i do ls > test.txt in test.txt there is also test.txt (logical

View 4 Replies View Related

Networking :: PING - Pipe 2 Versus Pipe 3

Apr 10, 2009

I'm doing ping between 2 RH servers through a VPN site2site tunnel and in some times I got in the result pipe 2 and another pipe 3 as I mark it in blue color below.

e.g.

64 bytes from 192.168.1.10: icmp_seq=0 ttl=128 time=0.229 ms
64 bytes from 192.168.1.10: icmp_seq=1 ttl=128 time=0.287 ms
64 bytes from 192.168.1.10: icmp_seq=2 ttl=128 time=0.278 ms

[code]....

What's the difference between pipe 2 and pipe 3 and what's the meaning of it?

View 1 Replies View Related

Programming :: Pipe Output To 2 Files But Not STDOUT?

Mar 24, 2011

I want to have the output of a program go to 2 different files but not going to standard out. Is there a way to do this in bash? I know that in Z shell its really easy. omething like: Code: echo "test" >> file1 >> file2 Would work. But in Bash it doesn't seem that easy. I know that tee will send the output to 2 files but it also sends it to STDOUT.Something like:Code: echo "test" | tee -a file1 file2 Would put the word "test" in file1, file2, and STDOUT. Is there a way to just send the output to file1 and file2?

View 2 Replies View Related

Programming :: Clearing Stdin Obtained From Pipe

Mar 14, 2010

I have a small program that reads stdin from a pipe using fgets. Now fgets blocks for the first line but after that it will not block.

The code, my_echo.c -
int main(int argc, char **argv) { char buf [2000] ;
char* pc ; printf("hello ") ; while (1)
{ buf[0] = (char) 0 ;
pc = fgets(buf, sizeof(buf), stdin);
if (pc != NULL) printf("%s ",buf); } return 0; }

How its called
* In terminal window 1: ./my_echo < my_fifo
* In terminal window 2: echo "1234" > my_fifo
* In terminal window 1: prints hello then 1234.
* Checking with ksysguard or top shows that my_echo is consuming 40% of CPU time.

Adding a few printf's shows that the gets is not blocking and returns a null pointer.
* In terminal window 2: echo "qwerty" > my_fifo
* In terminal window 1 qwerty prints.
I want a read function that does in fact block so my program does not tie up CPU time, read does not block.

View 7 Replies View Related

Programming :: Detect Pipe From Running C Program?

Jan 24, 2009

I'm looking for a way to detect whether or not a program has been called from pipe, e.g.

Code:

whatever | my_program
versus simply just being exectuated directly:

Code:

my_program

Why? In the first case, I want to run the program non-interactively, and in the latter case I want to print out user-friendly messages. I've been thinking along the lines of some check I haven't yet found, like:

Code:

if( stream_buffer_is_not_empty() )
print_interactive_messages();

View 1 Replies View Related

Programming :: Ipc Between Parent And Child Processes Using Pipe?

Oct 13, 2010

If a process forks its child and communicate with the child using pipe, do closing the write end of the pipe and terminating the writing process have the same effect?

View 3 Replies View Related

Programming :: Pipe The Current Directory Listing Into Sort?

Oct 20, 2010

how to pipe the current directory listing into sort so that the output is the date in descending order (primary sort key). If there are multiple entries with the same date, I'd like the times sorted in ascending order. It seems simple but for some reason this isn't working:

ls -l | sort -k 6r -k 7

For some reason it doesn't seem to ever get to the second sort key when using column 6 (last modified date).

View 2 Replies View Related

Programming :: Pipe Buffering/blocked Write Caching?

Apr 3, 2010

I understand that the linux pipe is a buffer and that any data written to it will stay there until it is read, and if the max capacity of the buffer is reached, any additional writes will block (by default).

HOWEVER, the behavior of the pipeline below suggest that the write operations are buffered/cached before ever being written to the pipe on the client side here is write.sh, which creates 1000 byte string and writes it 100 times to stdout... the idea being that it'll block as soon as the 64kb linux pipe size is reached:

[Code]...

This is not what I was expecting: I was expected that once the capacity was reached, any reads would be followed immediately by a write to take advantage of the freed space. Instead, the blocked write operation seems to wait for some random amount of time/space to free until it unblocks and writes.

View 2 Replies View Related

Programming :: Python Script Gives Error - Broken Pipe

Jul 21, 2011

I am building a python script which works same as SMTP protocol. I have build separate functions in that for each command of SMTP, and after this i have integrated all those functions in a new function named as send_mail(so that i don't have to execute every function separately for every command). Now, when i execute the script for the first time it runs successfully, but for the second time it gives the error of "BROKEN PIPE". I really can't make out how the socket is getting closed.

View 5 Replies View Related

Programming :: Orrect Command To Create A Named Pipe File?

Apr 22, 2010

My question deals with me creating a name pipe (file) in the my /group directory called chat.I then have to write a script to read from the named pipe and save data into a file called chat.log until the words End of File are passed to the program.

-When I created the named pipe file (chat) I used the mknod chat p command..Is this the correct command to create a named pipe file? -Then I'm having trouble with my script and how to make it run until the words End of File are entered in. This is what I have so far.

View 6 Replies View Related

Programming :: Unable To Store Multiple Sed Operations Using Pipe In A Variable / Fix It?

Jun 2, 2011

I am not able to execute a multiple sed statement using pipe filters in a variable. i am trying to extract a path from a file and then working on that path to change a few letters within the path by going through another sed statement.

the code looks like this code...

View 2 Replies View Related

Programming :: Displaying Process Id In Shell Script But There Is No Such Process?

Nov 9, 2010

I have a shell script to identify whether the process is running or not. If the process is not running, then I execute another script file to run my application. Below is my script and saved this script as monitorprocess.sh Code: #!/bin/bash

result=$(ps -ef | grep -v grep | grep "applicationname.sh" | awk '{print $2}')
echo $result
if [ "$result" == "" ];

[code]...

View 4 Replies View Related

Programming :: Difference Between Init.rc Process And Normal Process?

Mar 31, 2011

Is there any difference in cpu usage for process in init.rc(runs automatic when boot is happened) and manually running process. Will these both have same priority by default...?

View 1 Replies View Related

Programming ::get The PID Of The Process Giving Kill Signal To A Process?

Nov 26, 2008

I tried googling but didn't get any answer for this.I have a process called "abc" and it is running with PID "123".I have a putty session opened with PID "999".I am giving kill -TERM 123 from putty session.My process "abc" before dying it should catch the PID of the terminal which provided TERM signal to it.Is there any way to find this out

View 2 Replies View Related

Debian Programming :: Broken Pipe Error When Try Playing YouTube Playlist

Nov 16, 2014

I wrote y bash script that opens YouTube playlist using youtube-dl and VLC applications: the output of youtube-dl is the input of VLC. The only problem is VLC needs to be closed after each playlist item unless I get the error message of the operating system:

"ERROR: unable to write data: [Errno 32] Broken pipe".

I understand the reason but I don't know how to resolve it: it is possible to close previous STDIN of VLC without killing the entire VLC process so that a new youtube-dl instance can connect to the same VLC instance? In short this is my question. The problem is detailed here: Downloading and playing videos and subtitles.

View 0 Replies View Related

Programming :: Move Line Of Pipe Delimited Flat File If Field 27 = Sold?

Sep 26, 2010

I have a pipe delimited flat file, field 27 is price. I would like to move items marked sold to a new file every couple months.

awk -F"|" '$27 == "SOLD" {print $0}' awktest2.data >> awkout2.data

Allows me to write line to new file but I need to delete the original line, I also want to make sold case insensitive tried [Ss][Oo] with no luck

View 4 Replies View Related

Programming :: Multiple Input Into Seq Command From Pipe - Single Column Unique Numbers

May 13, 2011

Have this script which is reading in a series of files, one at a time with while-do-done loop, each file goes through various greps/awk's where this info is then saved to various files for later use. i.e....

Script is being run on Linux Red Hat,

In one of the grep/awk's the output (currently) are 2 columns (min max), i.e....| awk '{print $1, $2}' | sort -u which outputs (e.g.)

The number of "min max" pairs varies from file to file. Want to output a single column of unique numbers from the min max pairs & get the number of them for input to a file...i.e...

Where <PROCESS> is some process/technique that will generate a single column of integers (increment of 1) to pipe into the next one (sort -u)

i.e. (example from above)

Have tried command seq - only works for single pair input i.e.

Is there any command like seq etc which will output a single column based on a input of min max numbers (increment 1) to pipe onwards to next command?

View 4 Replies View Related

Programming :: Get Data From Serial Port Function Read() Blocks When Data Not Available?

Jun 11, 2009

I am using read() in c++ to get data from a serial port. However, if no data is available on the serial port the function blocks until dta arrives.Example code:

//------------------------------------------------------------
char m_readBuffer[255] = {0};
char* p_curChar = m_readBuffer;

[code]...

View 1 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved