My condition is I need my code to give Exit (0) status when condition of First thread got satisfied. But at the same time I need my second thread to keep executing.
Since This exit status I am going to use in one Scheduling Tool to make my Job Success. | [reply] |
| [reply] |
So you mean you want to keep part of your program running yet signal success to the calling program? That's not possible with threads.
Considering that variables can be shared in threads (which is about the only reason to use threads - if you don't need to communicate between threads, you might as well fork), returning status should be easy. Note that most implementation, sharing variables is the default in threads, but Perl does the opposite, but you can mark variables as shared.
| [reply] |
Thanks Corion,
Can you throw some more light on "daemonize". Since now you got my exact requirement.
| [reply] |
You should enclose your code in <code></code> tags, so we could try to understand better what are you trying to do...
[]s, HTH, Massa (κς,πμ,πλ)
| [reply] [d/l] |
Objective:
When we are executing our Perl script by using Autosys tool (Job Scheduling tool). It is not able to recognise Expect.pm which I used in my Perl code. And I am getting the below error.
Can't call method "expect" on an undefined value at /xxxx/bin/run_EMCTSftpPutEclerxFile.pl line 18.
Expect is not working go
But when I am executing it manually It works flawlesly. Pl. find my Perl script below:
1 #!/opt/perl/5.8.0/bin/perl
2 #ident "%W%"
3
4 use Expect;
5
6 $xxxx_FTP_HOST="xxxxx";
7 $xxxx_FTP_USER="xxxx";
8 $xxxx_FTP_PASS="xxxxx";
9 $xxxxx_FTP_LDIR="/opt/ftp/pub/outgoing";
10 $xxxxx_FTP_LFILE=$ARGV[0];
11 $timeout = 10;
12 $command = 'sftp';
13
14 $params = ("$xxxxxR\@$xxxxX_FTP_HOST");
15
16 $exp=Expect->spawn($command, $params) or print "Expect is not working go \n";
17
18 $exp->expect($timeout, "Password:");
19
20 $exp->send("$Exxxxx_FTP_PASS\n");
21
22 $exp->expect($timeout, "sftp>");
23
24 $exp->send("binary\r");
25
26 $exp->expect($timeout, "sftp>");
27
28 $exp->send("put $xxxxxX_FTP_LDIR/$xxxxx_FTP_LFILE \n");
29
30 $exp->expect($timeout, "sftp>");
31
32 $exp->send("bye\n");
33
34 $exp->soft_close();
| [reply] |