Sorry, I don't speak English very well but I will try to explain my problem!
If I write a C++ program and I use che system call system("command") I have this problem:
If I would launch a program I do this:
and all work fine!!
But if I divide this command in two part like these:
no work fine because "test" is not found. "test" is searched in the default home path. The second call to system is executed like if it was invoked in another terminal session!
I showed this trivial example but, generally, I would that the second call to system start when the first terminated and as a result.
I hope I've explained well my problem! Thank you all for your cooperation!
The system() function runs the command in a separate process. When you run a second call, it gets its own process and anything (environment, working directory etc.) set in the first process isn't available.
Try putting the two commands together
This will change directories and then run the test command; all in the same process.
Hope this helps.
---------- Post updated at 21:04 ---------- Previous update was at 20:58 ----------
It occurs to me that the system() function usually executes /bin/sh, and depending on your environment the shell installed as /bin/sh might not support the [/code]~[/icode] as meaning "home directory." Best to pass that information into your programme, or have the programme use get the value of HOME from the environment and use it.
Thanks a lot!!
I will test it when arrive at home!!
And IfI want to spend some time between the first and the second command?? I would be sure that the first command is completed before the beginning of the second.
Thanks a lot!!
I will test it when arrive at home!!
And IfI want to spend some time between the first and the second command?? I would be sure that the first command is completed before the beginning of the second.
Yes, the syntax command1; command2 'blocks' until the first command has completed. You could try this from the command line and see the behaviour:
This is my code:
If I execute it, this is the output:
The third command does not run and the program stops at the end of the second command!! Why?? It's a SSH question??
Thanks a lot!!
What exactly is "cmd" supposed to do? It's not any UNIX command I've ever heard of.
If you're trying to run it on the remote server there shouldn't be a ; between it and the ssh command, since it will try to run it locally once ssh has finished, not inside ssh!
cmd is Window's Command Prompt!! The ssh connection is between a Windows Server (OpenSSH is emulated by CygWin) and MacOs or Linux (is the same!!!!).
This command
work fine!!!
Missing the last command that interests me and we have finished!!! It launch a print job on the server:
How can I launch the last command after "cmd"???
Cannot present unpresented disks back again. On a test server tried this as a solution "multipath -r" and it worked. Too worried to try it in production before I know all the information.
Any info would be appreciated!
Also some links to the documentation on this specific issue could help a... (1 Reply)
Hello experts!
I need your help please
I have a file.txt of which I want to extract 3rd and 4th columns with date with the form e.g.:
2016-11-25 03:14:50and pass them to "date" command, but also append the 9th column in a file as well.
So I want to execute
date -d '2016-11-25 03:14:50' ... (2 Replies)
I have once experienced this problem without understanding what caused it but now learned thatn there is even a PMR dealing with it. Sometimes it happens that you encounter the following (rather cryptical) error message when trying to install an rpm-package:
package <rpm_package_name> is for a... (1 Reply)
Hi all,
i face an error related to my server ""it's running server"" when i use sqlplus command
$ sqlplus
bash: sqlplus: command not found
the data base is up and running i just need to access the sqlplus to import the dump file as a daily backup.
i already check the directory... (4 Replies)
How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address
and column 3 contains “cc” e-mail address to include with same email.
Sample input file, email.txt
Below is an sample code where... (2 Replies)
Hello!!!
I'm trying to pass the output from bash command to perl variable in a perl script, and I used the "system" command to execute the bash statment and pass the result to perl string variable, in this perl script I used a variable $file that store data for using it as a regular expression.... (2 Replies)
I want to list all files/lines which except those which contain the pattern ' /proc/' OR ' /sys/' (mind the leading blank).
In a first approach I coded:
find / -exec ls -ld {} | grep -v ' /proc/| /sys/' \; > /tmp/list.txt
But this doesn't work. I got an error (under Ubuntu):
grep:... (5 Replies)
Hi,
I have line in input file as below:
3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL
My expected output for line in the file must be :
"1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL"
Can someone... (7 Replies)
Hi,
I am having an issue with using sockets.
I have a program which binds to a socket and listen on it. Later I spawn a thread to handle some function. In the new thread created I need to call a shell script which executes the specified function. Here I am using a system command to call the... (5 Replies)
Hi All,
I am trying to schedule a one time job using the at command with the help of shell script for my project. The shell script should take a parameter as a command line argument from the at command itself. Is it possible to take a command line parameter for a shell script in the command... (3 Replies)