[Beowulf] dsh command
Many of your questions may have already been answered in earlier discussions or in the FAQ. The search results page will indicate current discussions as well as past list serves, articles, and papers.
unix_no_win unix_no_win at yahoo.comTue Jun 22 13:47:10 PDT 2004
- Previous message: [Beowulf] dsh command
- Next message: [Beowulf] dsh command
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
dsh -a -e 'ps -ef' 2>&1 >temp --- "Ngan, Michael (NIH/NCI)" <nganm at mail.nih.gov> wrote: > I am trying to get a list of processes from all > nodes into a temp file so I > can grep it by userid. The following command: > > Dsh -a -e 'ps -ef' > temp > > Just print the outprint to the screen, instead send > them to the temp file. I > wonder what is the correct way to write this > command. > > Thanks, > > Mike > > -- > Michael Ngan, Contractor NCI/NIH > mailto:nganm at mail.nih.gov 8138-6130 > Executive Blvd > (W) (301) 402-0324 > Rockville, MD 20852, USA > (H) (301) 208-1610 > http://linus.nci.nih.gov > > -----Original Message----- > From: Mike Davis [mailto:jmdavis at mail2.vcu.edu] > Sent: Thursday, June 03, 2004 12:54 PM > To: Mark Hahn > Cc: beowulf at beowulf.org > Subject: Re: [Beowulf] KVM to a compute node > > The fact is that you can absolutely dispense with > KVM for compute nodes > with the right setup. I have several clusters which > only have video > connected at the head and 2 with KVM to all nodes. > > The serial only clusters use cyclades switches > connected to each serial > port. To reach an individual node you can use > minicom from the head. > This works during bootup as well. As long as the > machine has power and > the serial port is not locked you can get in. > > Other remote reboot options include apc power > switches which can be > remotely cycled. I use these as well on most of my > clusters. > > Mike Davis > > > > > > Mark Hahn wrote: > > >>These USB->serial boxes work fine with linux (ours > uses the ftdi_sio > kernel > >> > >> > > > >sounds a bit fragile to me. if I really wanted > serial on a bunch of boxes, > >I'd be most tempted to simply have box N plugged > into box N+1. and use a > >script to do the appropriate connection, of course. > > > > > > > >>We use kermit to log on the local console to each > machine, and have > aliases > >>for the combination of ssh (to the server) and > kermit on the right tty. > >> > >> > > > >eeew, why do people still use grossness like kermit > for such a simple task? > >here's a bit of serial-port plumbing I wrote over a > decade ago (gulp!) > >that works on any unix machine. feel free to hack > it to your port > >names/speeds/etc, remove the silly logging, etc. > > > >/* written by Mark Hahn <hahn at mcmaster.ca> */ > >#include <unistd.h> > >#include <sys/time.h> > >#include <fcntl.h> > >#include <stdio.h> > >#include <termios.h> > >#include <stdarg.h> > > > >double gtod() { > > struct timeval tv; > > gettimeofday(&tv,0); > > return tv.tv_sec + 1e-6 * tv.tv_usec; > >} > >double startTime; > >double ts() { > > if (startTime == 0.0) > > startTime = gtod(); > > return gtod() - startTime; > >} > > > >FILE *fpLog = 0; > >void log(char *format,...) { > > va_list ap; > > va_start(ap,format); > > > > if (!fpLog) > > fpLog = fopen("debug.log","a"); > > fprintf(fpLog,"%2.8f: ",ts()); > > vfprintf(fpLog,format,ap); > > va_end(ap); > > fflush(fpLog); > >} > >void fatal(char *format,...) { > > static FILE *fpLog = 0; > > va_list ap; > > va_start(ap,format); > > > > if (!fpLog) > > fpLog = fopen("debug.log","a"); > > fprintf(fpLog,"%2.8f: ",ts()); > > vfprintf(fpLog,format,ap); > > va_end(ap); > > fclose(fpLog); > > exit(0); > >} > > > >int > >main() { > > struct termios t, tOrg; > > int fdSer = open("/dev/tty01", O_RDWR); > > > > log("starting...\n"); > > > > if (fdSer == -1) { > > perror("open of serial device failed"); > > return 1; > > } > > log("opened...\n"); > > > > t.c_iflag = IGNBRK | INPCK; > > t.c_oflag = 0; > > t.c_cflag = CS8 | CREAD | CLOCAL | CSTOPB; > > t.c_lflag = 0; > > cfsetispeed(&t,B19200); > > cfsetospeed(&t,B19200); > > tcsetattr(fdSer,TCSANOW,&t); > > > > log("serial attr set...\n"); > > > > tcgetattr(0,&t); > > tOrg = t; > > t.c_iflag = 0; > > t.c_lflag = 0; > > t.c_cc[VTIME] = 1; > > t.c_cc[VMIN] = 1; > > tcsetattr(0,TCSANOW,&t); > > > > log("console attr set...\n"); > > > > while (1) { > >#define bufSize 4096 > > unsigned char buf[bufSize+1]; > > struct timeval timeout; > > fd_set readset; > > > > timeout.tv_sec = 10; > > timeout.tv_usec = 0; > > > > FD_ZERO(&readset); > > FD_SET(0,&readset); > > FD_SET(fdSer,&readset); > > > > log("about to select...\n"); > > > > if (select(fdSer+1,&readset,0,0,&timeout) == -1) > > continue; > > > > if (FD_ISSET(0,&readset)) { > > log("stdin readable...\n"); > > > > int c = read(0,buf,bufSize); > > if (c > 0) { > > buf[c] = 0; > > log("got %d bytes from stdin: > '%s'...\n",c,buf); > > > > static unsigned char prev = 0; > > log("prev is %02x\n\n",prev); > > if (prev == 0x1d && buf[0] == 'q') > > break; > > prev = buf[0]; > > log("writing to serial...\n"); > > write(fdSer,buf,c); > === message truncated === __________________________________ Do you Yahoo!? Yahoo! Mail Address AutoComplete - You start. We finish. http://promotions.yahoo.com/new_mail
- Previous message: [Beowulf] dsh command
- Next message: [Beowulf] dsh command
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Beowulf mailing list
