Sponsored Content
Top Forums UNIX for Beginners Questions & Answers How to check if a file is open in editor? Post 303005407 by cherryTango on Tuesday 17th of October 2017 06:40:26 PM
Old 10-17-2017
So I've got a program that allows the user to edit a file either in gedit or using vim. I want a log to update only once the user has finished editing the file. Figured easiest way to do this would be only to update once the user had closed the editor. Been playing around with it for a while now - think I have found the best solution for what I want to do however I can't seem to get it to work.

My code:
Code:
gedit "$1" & PID="$!"
            # Do stuff while file is open
            wait $PID
            clear
            updateLog

(For the vim option the code is identical except 'vim' replaces 'gedit')

My logic is that this will guarantee that the process is terminated before updating the log.. however in practice it just immediately updates the log. Have absolutely no idea what I'm doing wrong! The $PID variable is being filled correctly as I've tested by printing it. Does the PID for a process change and this is why it's not working? Or is my wait command incorrect? When I put an
Code:
exit

command after the wait there are no errors in the terminal.
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Unable to open files in VI editor

Hi, I unable to open any file using Vi editor,constantly getting the following error, vi log.log *** glibc detected *** malloc(): memory corruption: 0x081af510 ** uname -a Linux sekac092 2.6.5-7.244-bigsmp #1 SMP Mon Dec 12 18:32:25 UTC 2005 i686 athlon i386 GNU/Linux Also Note ls... (8 Replies)
Discussion started by: ennstate
8 Replies

2. Shell Programming and Scripting

How to give permissions to an open file in vi editor?

Hi all, I have a shell script that i started editing, only in the midst of which i tried to save the changes i found that the file wasnt been provided with write/execute permissions. I later have redone the changes and saved the file- Just curious to know if there was any command wherein... (5 Replies)
Discussion started by: Pankajakshan
5 Replies

3. UNIX for Advanced & Expert Users

getting error when open vi editor

helo I install my product for koren language I m uisng RHEL -4 operating system now problem is whenever I open any file vi filename I got following error on the screen E557: Cannot open termcap file 'vt100' not known. Available builtin terminals are: builtin_ansi ... (1 Reply)
Discussion started by: amitpansuria
1 Replies

4. UNIX for Dummies Questions & Answers

How to open file in VI Editor at a specific line?

i have following query e.g i want the VI Editor cursor at line number N instead of 0 while opening the file from unix prompt. vi filename ?????? Can anyone help? (4 Replies)
Discussion started by: skyineyes
4 Replies

5. Shell Programming and Scripting

avoid open file to check field.

Hi Everyone, # cat a.txt 94,aqqc,62345907, 5,aeec,77, # cat 1.pl #!/usr/bin/perl use strict; use warnings; use Date::Manip; open(my $FA, "/root/a.txt") or die "$!"; while(<$FA>) { chomp; my @tmp=split(/\,/, $_); if (index($tmp, "qq") ne -1) { ... (4 Replies)
Discussion started by: jimmy_y
4 Replies

6. Solaris

Before I delete any file in Unix, How can I check no open file handle is pointing to that file?

I know how to check if any file has a unix process using a file by looking at 'lsof <fullpath/filename>' command. I think using lsof is very expensive. Also to make it accurate we need to inlcude fullpath of the file. Is there another command that can tell if a file has a truely active... (12 Replies)
Discussion started by: kchinnam
12 Replies

7. UNIX and Linux Applications

Notepad++ hang when open file edited in other text editor

Hi, I would like to ask about the notepad++ text editor application, Although there are alternative and more great text editor in linux (gedit, geany, jedit) im still using the notepad++ sometimes cause for some of my own reason one of those is the minimalist text(what i mean is notepad++ has a... (2 Replies)
Discussion started by: jao_madn
2 Replies

8. UNIX for Dummies Questions & Answers

Vi editor will not open new to UNIX. help please.

vi: syntax error at line 1: `)' unexpected when I try to vi into the /etc/vfstab, the return gives me the above error. how can resolve this so that I can have access into vi. (6 Replies)
Discussion started by: dovestar
6 Replies

9. Shell Programming and Scripting

Not able to read .csv file until open in vi editor

Hi, I am facing a problem regarding .csv file, my script does not read .csv file and if i open this file in vi editor and perform :wq option then only my script reads the .csv file. Thanks (5 Replies)
Discussion started by: ranabhavish
5 Replies

10. Shell Programming and Scripting

To check if a file is open and in use (logs are being written to it)

Hello Experts, I need to write a shell script to check if a file is open and something is being written to it. I want to know how OS handles it. I checked with lsof command but it is not working. For a test I did this. while true; do echo `date` >>abc.txt; done then I checked lsof |... (5 Replies)
Discussion started by: shekhar_4_u
5 Replies
msvc(8) 						      System Manager's Manual							   msvc(8)

NAME
msvc - control minit SYNOPSIS
msvc [ -[uodpchaitko] ] [ -P pid ] service [...] DESCRIPTION
msvc is the management interface to minit. service is the service directory name relative to /etc/minit. Starting with minit 0.9 you can also include /etc/minit/ in the service name. OPTIONS
If no option is given, msvc will just print a small diagnostic message to stdout, saying if the service is up, down or finished, which PID it has if it is up, and for how long it has been in this state. -u Up. If the service is not running, start it. If the service stops, restart it. -o Once. If the service is not running, start it. If the service stops, do not restart it. -d Down. If the service is running, send it a TERM signal and then a CONT signal. After it stops, do not restart it. -p Pause. Send the service a STOP signal. -c Continue. Send the service a CONT signal. -h Hangup. Send the service a HUP signal. -a Alarm. Send the service an ALRM signal. -i Interrupt. Send the service an INT signal. -t Terminate. Send the service a TERM signal. -k Terminate. Send the service a KILL signal. -P pid Set PID. Tell minit the PID of the service is really pid. This is useful for services that fork themselves in the background but put their real PID in a file, typically called /var/run/service.pid. Used by pidfilehack. -D service Print dependencies. This will print all the names of all the services that were started because this services depended on them. Please note that this is not done recursively (i.e. if default depends on qmail and qmail depends on log, this will print qmail, not qmail/log. But msvc -D qmail will print qmail/log). -H Print history. This will print the names of the ten least recently spawned processes. This is useful if you see a process looping (initialization fails and minit is restarting it all the time). RETURN CODES
Generally, msvc return zero if everything is OK or 1 on error (could not open /lib/minit/in or /lib/minit/out or there is no process with the given name). In diagnostic mode, it will exit 0 if the service is up, 2 if it is down or 3 if it is finished. SEE ALSO
pidfilehack(8), svc(8) msvc(8)
All times are GMT -4. The time now is 08:11 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy